home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 40 / Amiga Format CD40 (1999-05-11)(Future Publishing)(GB)(Track 1 of 3)[!][issue 1999-06].iso / -readerstuff- / paul_qureshi / formats / lwstuff.lzx / lwsc.txt < prev   
Text File  |  1999-02-04  |  108KB  |  4,113 lines

  1.  
  2.             LightWave Scene File Format
  3.  
  4.             LightWave v.4.0  June 1995
  5.  
  6.  
  7.  
  8. THIS DOCUMENT IS PRELIMINARY.  THIS INFORMATION MAY NOT BE CORRECT,  
  9. MAY BE INCOMPLETE, OR MAY CHANGE AT ANYTIME.
  10.  
  11.  
  12.  
  13. Copyright ©1990 - 1995 NewTek, Inc.
  14.  
  15. Confidential and Proprietary. All rights reserved. 
  16.  
  17.  
  18.  
  19. WARNING!
  20.  
  21. The information contained herein is subject to change without
  22. notice.  NewTek, Inc. specifically does not make any endorsement 
  23. or representation with respect to use, results, or performance of
  24. the information (including without limitation its capabilities,
  25. appropriateness, reliability, or availability).
  26.  
  27.  
  28.  
  29. DISCLAIMER
  30.  
  31. This information is provided "as is" without warranty of any 
  32. kind, either expressed or implied.  The entire risk as to the
  33. use of this information is assumed by the user.  In no event
  34. will NewTek, Inc. be liable for any damages, direct, indirect, 
  35. incidental, special or consequential, resulting from any defect
  36. in the information. 
  37.  
  38.  
  39. TABLE OF CONTENTS
  40.  
  41.  
  42. Chapter 1      SCENE FILE OVERVIEW
  43.  
  44.           1.1    Basic Scene File Information
  45.  
  46.       1.2    Scene File Sections
  47.       1.2.1      Order of Scene File Sections
  48.       1.2.2      Example Scene File Section
  49.  
  50.       1.3    Keyframes
  51.       1.3.1      Basic Keyframe Information
  52.       1.3.2      Basic Object Segment
  53.       1.3.3      Expanded Basic Object Segment
  54.       1.3.4      Single Keyframe Description
  55.       1.3.5      Spline Control Values
  56.  
  57.       1.4    Envelopes
  58.       1.4.1      Basic Envelope Information
  59.       1.4.2      List of Functions That Use Envelopes
  60.       1.4.3      Example Envelope
  61.       1.4.4      Expanded Envelope Structure
  62.  
  63.           
  64.  
  65. Chapter 2    SCENE SECTION
  66.  
  67.       2.1    Scene Section Information
  68.       2.1.1      Scene Section Description
  69.       2.1.2      Example Scene Section
  70.  
  71.       2.2    Scene Functions
  72.       2.2.1      Order of Scene Functions
  73.       2.2.2      Scene Function Descriptions
  74.  
  75.  
  76.  
  77. Chapter 3    OBJECT SECTION
  78.  
  79.       3.1    Object Section Information
  80.       3.1.1      Object Section Description
  81.       3.1.2      Individual Object Segment
  82.       3.1.3      Example Object Section
  83.  
  84.       3.2    Object Functions
  85.       3.2.1      Function Order
  86.       3.2.2      Function Descriptions
  87.  
  88.       3.3    Object Skeleton
  89.       3.3.1      Object Skeleton Information
  90.       3.3.2      Example Object Segment with Bones
  91.       3.3.3      Object Skeleton Function Order
  92.       3.3.4      Object Skeleton Function Descriptions
  93.  
  94.       3.4    Displacement Map / Clip Map
  95.       3.4.1      DisplacementMap/ClipMap Information
  96.       3.4.2      Example Object Segment with Displacement Map
  97.       3.4.3      Mapping Function Order
  98.       3.4.4      Mapping Function Descriptions
  99.  
  100.  
  101.  
  102. Chapter 4    LIGHT SECTION
  103.  
  104.      4.1    Light Section Information
  105.      4.1.1      Light Section Description
  106.      4.1.2      Individual Light Segment
  107.  
  108.      4.2    Light Functions
  109.      4.2.1      Function Order
  110.      4.2.2      Function Descriptions
  111.  
  112.  
  113.  
  114. Chapter 5    CAMERA SECTION
  115.  
  116.      5.1    Camera Section Information
  117.      5.1.1      Camera Section Description
  118.      5.1.2      Example Camera Segment
  119.  
  120.      5.2    Camera Functions
  121.      5.2.1      Function Order
  122.      5.2.2      Function Descriptions
  123.  
  124.  
  125.  
  126. Chapter 6    EFFECTS SECTION
  127.  
  128.      6.1    Effects Section Information
  129.      6.1.1      Effects Section Description
  130.      6.1.2      Basic Effects Section
  131.  
  132.      6.2    Effects Functions
  133.      6.2.1      Function Order
  134.      6.2.2      Function Description
  135.  
  136.            
  137.  
  138. Chapter 7    RECORD SECTION
  139.  
  140.      7.1    Record Section Information
  141.      7.1.1      Record Section Description
  142.      7.1.2      Basic Record Section
  143.  
  144.      7.2    Record Functions
  145.      7.2.1      Function Order
  146.      7.2.2      Function Descriptions
  147.  
  148.  
  149.  
  150. Chapter 8    OPTIONS SECTION
  151.  
  152.      8.1    Options Section Information
  153.      8.1.1      Options Section Description
  154.      8.1.2      Example Options Section
  155.  
  156.      8.2    Options Functions
  157.      8.2.1      Function Order
  158.      8.2.2      Function Description
  159.  
  160.     
  161.  
  162.     
  163.  
  164.     
  165. Chapter 1:            SCENE FILE OVERVIEW
  166.  
  167.  
  168. 1.1  BASIC SCENE FILE INFORMATION
  169.  
  170.   The LightWave scene file is a standard ASCII text file that contains the 
  171.   information necessary to reconstruct a LightWave Scene.
  172.  
  173.   In addition to the objects, lights and camera, the scene file contains 
  174.   standard Layout settings that are set on a per scene basis.  Layout 
  175.   information that is more "permanent" is saved in the LightWave config 
  176.   file. (For LightWave Config File information see Chapter 10.)
  177.  
  178.   The object geometry is not included in the scene file.  For each object 
  179.   instance the objects path and filename are listed along with other scene 
  180.   specific attributes.  The objects are stored as seperate binary files 
  181.   that contain the object geometry along with the objects surface attributes.
  182.  
  183.   Objects are not saved when the Save Scene function is selected from the 
  184.   Scene Menu.  The user is required to save these by going to the Objects Menu 
  185.   and selecting either the Save Object or Save All Objects function.  This 
  186.   saves each object as an individual file and sets the path and filename that 
  187.   will be saved for that object instance in the scene file.
  188.  
  189.   Values are listed to 6 decimal places.
  190.  
  191.   Position values are given in meters.
  192.  
  193.   Rotation values are given in degrees.
  194.  
  195.   Scaling values are given as a multiplier.
  196.  
  197.   Frame numbers are given as a value greater than or equal to 0.
  198.  
  199.   Color values are given as an Red, Green, and Blue triple, each with a range 
  200.   of 0 to 255.
  201.  
  202.  
  203.  
  204. 1.2  SCENE FILE SECTIONS
  205.  
  206.  
  207. 1.2.1  Order Of Scene File Sections
  208.  
  209. The scene files basic structure is divided into separate logical sections.  
  210. Each section relates to a group of LightWave's functions.  These sections 
  211. are arranged in an order similar to the menu structure in LightWave's Layout.  
  212.  
  213.     Scene
  214.  
  215.     Objects
  216.  
  217.     Lights
  218.  
  219.     Camera
  220.  
  221.     Effects
  222.  
  223.     Render
  224.  
  225.     Layout Options
  226.  
  227.  
  228. 1.2.2 Example Scene File Sections
  229.  
  230. LWSC
  231. 1
  232.  
  233. FirstFrame 1
  234. LastFrame 30
  235. FrameStep 1
  236. FramesPerSecond 30.000000
  237.  
  238. AddNullObject NullObject
  239. ShowObject 4 7
  240. ObjectMotion (unnamed)
  241.  9
  242.  1
  243.  0 0 0 0 0 0 1 1 1 
  244.  0 0 0 0 0
  245. EndBehavior 1
  246. ShadowOptions 7
  247.  
  248. AmbientColor 255 255 255
  249. AmbIntensity 0.250000
  250.  
  251. AddLight
  252. LightName Light
  253. ShowLight 0 7
  254. LightMotion (unnamed)
  255.  9
  256.  1
  257.  0 0 0 60 30 0 1 1 1
  258.  0 0 0 0 0
  259. EndBehavior 1
  260. LightColor 255 255 255
  261. LgtIntensity 1.000000
  262. LightType 0
  263. ShadowCasting 1
  264.  
  265. ShowCamera 1 7
  266. CameraMotion (unnamed)
  267.  9
  268.  1
  269.  0 0 -1 0 0 0 1 1 1
  270.  0 0 0 0 0
  271. EndBehavior 1
  272. ZoomFactor 3.200000
  273. RenderMode 2
  274. RayTraceEffects 0
  275. Resolution 1
  276. PixelAspectRatio 0
  277. SegmentMemory 8800000
  278. Antialiasing 0
  279. AdaptiveSampling 1
  280. AdaptiveThreshold 8
  281. FilmSize 2
  282. FieldRendering 0
  283. MotionBlur 0
  284. DepthofField 0
  285.  
  286. SolidBackdrop 1
  287. BackdropColor 0 0 0
  288. ZenithColor 0 40 80
  289. SkyColor 120 180 240
  290. GroundColor 50 40 30
  291. NadirColor 100 80 60
  292. FogType 0
  293. DitherIntensity 1
  294. AnimatedDither 0
  295.  
  296. DataOverlayLabel
  297.  
  298. ViewMode 3
  299. ViewAimpoint 0.000000 0.000000 0.000000
  300. ViewDirection 0.621337 -0.254818 0.000000
  301. ViewZoomFactor 3.200000
  302. LayoutGrid 8
  303. GridSize 1.000000
  304. ShowMotionPath 1
  305. ShowSafeAreas 0
  306. ShowBGImage 0
  307. ShowFogRadius 0
  308. ShowRedraw 0
  309.  
  310.  
  311.  
  312. 1.3  KEYFRAMES
  313.  
  314.  
  315. 1.3.1  Basic Keyframe Information
  316.  
  317. A major part of the scene file consists of the motion paths of the Objects, 
  318. Lights and the Camera.  The keyframe information provides the motion values 
  319. needed to reproduce a motion path.
  320.  
  321.   Keyframes provide the following information:
  322.  
  323.     Position         (X, Y, Z)
  324.     Rotation         (Heading, Pitch, Bank)
  325.     Scaling         (XScale, YScale, ZScale)
  326.     Frame Number
  327.     Linear Value         (Curved, Linear)
  328.     Spline Adjustments     (Tension, Continuity, Bias)
  329.  
  330.   Values are listed to 6 decimal places.
  331.  
  332.   Position values are given in meters.
  333.  
  334.   Rotation values are given in degrees.
  335.  
  336.   Scaling values are given as a multiplier
  337.  
  338.   Frame numbers are given as a value greater than or equal to 0.
  339.  
  340.   Each instance of an object, light, or camera is required to have at least 
  341.   one keyframe at frame 0.  This keyframe cannot be deleted from the scene file.
  342.  
  343.   Motions can be saved as separate motion files using the Save Motion 
  344.   function from the Motion Graph.    This allows the copying of motions 
  345.   from scene file to scene file and object to object. (For the Motion File 
  346.   Format see Chapter 9.)
  347.  
  348.  
  349. 1.3.2  Basic Object Segment
  350.  
  351. The keyframes of an example object section are shown below:
  352.  
  353.  
  354. LoadObject Objects/Tutorial/LightBeam.obj
  355. ShowObject 4
  356. ObjectMotion (unnamed) 
  357.  9
  358.  2
  359. -1.855599  1.543649  2.164339  -90.000000  360.000000  720.000000  1.0    
  360. 1.0  1.0  0  0  1.0   0.0   0.0 
  361. -1.321534  2.235439  2.164330  -60.000000  360.000000  180.000000  1.0    
  362. 1.0  1.0  15  0  1.0   0.0   0.0 
  363. EndBehavior 1
  364. ShadowOptions 7
  365.  
  366.  
  367.  
  368. 1.3.3  Expanded Basic Object Segment: (line-by-line description) 
  369.  
  370. Below is an expanded line-by-line description of the above object segment:
  371.  
  372. LoadObject Objects/Tutorial/LightBeam.obj    
  373.             Load Object function followed by object path name.
  374.  
  375. ObjectMotion (unnamed)  Object motion identifier.
  376.  
  377.  
  378.  9            Number of Information channels per keyframe.
  379.  
  380.  2            Number of Keyframes to be listed.
  381.  
  382. -1.855599  1.543649  2.164339  -90.000000  360.000000  720.000000   
  383. 1.0   1.0   1.0  0  0  1.0   0.0   0.0           
  384.             Keyframe Information.
  385.  
  386. -1.321534  2.235439  2.164330  -60.000000  360.000000  180.000000   
  387. 1.0   1.0   1.0  15 0  1.0   0.0   0.0              
  388.             Additional Keyframe.
  389.  
  390. EndBehavior 1        End Behavior of the object's motion.
  391.  
  392. Shadow Options 7    Shadow options for the object.
  393.  
  394.  
  395.  
  396. 1.3.4 Single Keyframe Description
  397.  
  398. -1.321534   2.235439  2.164330  -60.000000  360.000000  180.000000   
  399. 1.0   1.0   1.0  15  0  1.0   0.0   0.0 
  400.  
  401. The values are listed as follows:
  402.  
  403. 1st Line:
  404. XPosition, YPosition, ZPosition, Heading, Pitch, Bank
  405.  
  406. 2nd Line:
  407. XScale, YScale, ZScale, FrameNumber, Linear Value, Tension, Continuity, Bias
  408.  
  409.  
  410. 1.3.5  Spline Control Values
  411.  
  412. Linear Value:    0 - Curved Spline
  413.         1 - Linear Path
  414.  
  415. Tension:    -1.0 <= T <= 1.0
  416.  
  417. Continuity:    -1.0 <= C <= 1.0
  418.  
  419. Bias:        -1.0 <= B <= 1.0
  420.  
  421.  
  422.  
  423. 1.4  ENVELOPES
  424.  
  425.  
  426. 1.4.1  Basic Envelope Information
  427.  
  428.   Envelopes are used to change function values over time.
  429.  
  430.   When an envelope is used, the function's  numeric value is replaced by an 
  431.   envelope segment identifier.  This is denoted by:  (envelope)
  432.  
  433.   Envelopes set a single numeric value for a function (percentage, angle, etc.)
  434.  
  435.   Percentages are listed between 0 and 1 with 0% = 0.000000 100%= 1.000000,  
  436.   some function values are capable of going  above 100%. 
  437.  
  438.   Values are listed to six decimal places.
  439.  
  440.   Angles are given in degrees.
  441.  
  442.   Distances are given in meters.
  443.  
  444.   All Envelopes end with a local EndBehavior option.
  445.  
  446.  
  447. 1.4.2  List of Functions That Use Envelopes
  448.  
  449.     Name - Type                Function Listing 
  450.  
  451.  
  452.     Displacement Map - %            DisplacementMap
  453.  
  454.     Metamorph Level - %:              Metamorph
  455.  
  456.     Object Dissolve - %:              ObjDissolve 
  457.  
  458.     Polygon Size - %:              PolygonSize
  459.  
  460.     Global Flare Intensity - %:         GlobalFlareIntensity
  461.  
  462.     Ambient Intensity - %:          AmbIntensity
  463.  
  464.     Light Intensity - %:              LgtIntensity
  465.  
  466.     Flare Intensity - %:              FlareIntensity
  467.  
  468.     Flare Dissolve - %:            FlareDissolve
  469.  
  470.     Flare Rotation Angle - Angle:        FlareRotationAngle
  471.  
  472.     IntensityFalloff - %:            Falloff
  473.  
  474.     Spotlight Cone Angle - Angle:        ConeAngle
  475.  
  476.     Spot Soft Edge Angle - Angle:        EdgeAngle
  477.  
  478.     Shadow Map Angle - Angle:        ShadowMapAngle
  479.  
  480.     Zoom Factor - Focal Length:        ZoomFactor
  481.  
  482.     Blur Length - %:            BlurLength
  483.  
  484.     Focal Distance - Distance:        FocalDistance
  485.     
  486.     Lens F-stop - Aperture Size:        LensFStop
  487.  
  488.     Foreground Dissolve - %:        FGDissolve
  489.  
  490.     Minimum Fog Distance - Distance:    FogMinDist
  491.  
  492.     Maximum Fog Distance - Distance:    FogMaxDist
  493.  
  494.     Minimum Fog Amount - %:            FogMinAmount
  495.  
  496.     Maximum Fog Amount -%:            FogMaxAmount
  497.  
  498.     Color Saturation -%:            Saturation
  499.  
  500.     Glow Intensity - %:            GlowIntensity
  501.  
  502.     Glow Radius - Pixels:            GlowRadius
  503.  
  504.  
  505. 1.4.3  Example Envelope:
  506.  
  507. LgtIntensity  (envelope)
  508.    1
  509.    4
  510.    0.235000
  511.    0 0 0.0 0.0 0.0
  512.    0.800000
  513.    11 0 0.0 0.0 0.0
  514.    0.260000
  515.    22 0 0.0 0.0 0.0
  516.    0.650000
  517.    41 0 0.0 0.0 0.0
  518. EndBehavior 1
  519.  
  520.  
  521. 1.4.4  Expanded Envelope Structure: (line-by-line description)
  522.  
  523. LgtIntensity (envelope)    Envelope Function name followed by envelope 
  524. section identifier.
  525.  
  526.   1        Number of Information Channels:  envelopes contain percentage 
  527.                           values only.
  528.  
  529.   4        Number of Keyframes in the envelope.
  530.  
  531.   0.235000    Envelope Value. (23.5%)
  532.  
  533.   0 0 0.0 0.0 0.0        
  534.         Frame Number, Linear Status, Tension, Continuity, Bias
  535.  
  536.   0.800000    Envelope Value. (80%)
  537.  
  538.   11 0 0.0 0.0 0.0  
  539.         Frame Number, Linear Status, Tension, Continuity, Bias
  540.  
  541.   0.260000
  542.  
  543.   22 0 0.0 0.0 0.0        
  544.         Additional Keyframes.
  545.  
  546.   0.650000
  547.  
  548.   41 0 0.0 0.0 0.0
  549.  
  550. EndBehavior 1    End Behavior for this envelope.
  551.  
  552.  
  553.  
  554.  
  555. Chapter 2:            SCENE SECTION
  556.  
  557.  
  558. 2.1 SCENE SECTION INFORMATION
  559.  
  560.  
  561. 2.1.1 Scene Section Description
  562.  
  563.   The Scene Section consists of the LightWave scene file header and frame 
  564.   information.  The functions in this section always produce a listing 
  565.   and have no optional functions.
  566.  
  567.  
  568. 2.2.2  Example Scene Section
  569.  
  570. Below is an example Scene Section:
  571.  
  572.  
  573. LWSC
  574. 1
  575.  
  576. FirstFrame 1
  577. LastFrame 30
  578. FrameStep 1
  579. FramesPerSecond 30.000000
  580.  
  581.  
  582.  
  583. 2.2 SCENE FUNCTIONS
  584.  
  585.  
  586. 2.2.1  Order of Scene Functions
  587.  
  588. The following scene functions are listed in the order in which they appear 
  589. in the scene file.
  590.  
  591.   Italicized entries denote function labels and are not true function names.
  592.  
  593.         LWSC
  594.         Scene File Version
  595.  
  596.         FirstFrame
  597.         LastFrame
  598.         FrameStep
  599.         FramesPerSecond
  600.  
  601.  
  602. 2.2.2  Scene Function Descriptions
  603.  
  604.  
  605. LWSC
  606.  
  607. The LightWave scene file begins with the LWSC header.
  608.  
  609.  
  610. Scene File Version <1>
  611.  
  612. The second listing is the version of the scene file.
  613.  
  614.  
  615. FirstFrame <frame number>
  616.  
  617. example:  FirstFrame 1
  618.  
  619. The FirstFrame function provides the starting frame for the rendering process. 
  620. This is a global function for all LightWave functions that use frame 
  621. information
  622.  
  623.  
  624. LastFrame <frame number>
  625.  
  626. example:  LastFrame 30
  627.  
  628. The LastFrame function provides the last frame to be rendered.  This also 
  629. supplies the defaults for the MakePreview function and the current frame 
  630. slider from Layout with the last frame information.  This is a global 
  631. function for all LightWave functions that use frame information.
  632.  
  633.  
  634. FrameStep <int>
  635.  
  636. example:  FrameStep 1
  637.  
  638. The FrameStep function provides the number of frames to increment between 
  639. rendered frames during the rendering process.  
  640.  
  641.  
  642. FramesPerSecond <float>
  643.  
  644. example:  FramesPerSecond 30.000000
  645.  
  646. The FramesPerSecond function provides the number of frames per second.
  647.  
  648.  
  649.  
  650.  
  651.  
  652. Chapter 3:            OBJECT SECTION
  653.  
  654.  
  655. 3.1  OBJECT SECTION INFORMATION
  656.  
  657.  
  658. 3.1.1 Object Section Description
  659.  
  660.   The Object section contains the information for all objects and object 
  661.   related functions in a LightWave Scene.
  662.  
  663.   The LightWave scene file does not contain the object geometry or the 
  664.   surface information for its objects.  This information is located in 
  665.   object files that are saved separately from the scene.
  666.  
  667.   Multiple Objects in an Object Section are listed sequentially in the order 
  668.   in which they were loaded/created.
  669.  
  670.   Duplicate objects are given a numbered suffix to the name during the 
  671.   loading process.  This number is enclosed in parenthesis and follows the 
  672.   object name.  An example:  LightBeam.lwo (2) is the second instance of 
  673.   the LightBeam.lwo object.  The number is not saved in the scene file, 
  674.   and is used only as a user reference.
  675.  
  676.   The Target, Parent, and Goal functions use a value that is equal to the 
  677.   order in which the referenced object was loaded.   i.e. The value in the 
  678.   function "ParentObject 3"  means that the current object is parented to 
  679.   the third object instance in the scene file.
  680.  
  681.  
  682. 3.1.2 Individual Object Segment
  683.  
  684.   An Object Segment is required for each object instance in a scene file.
  685.  
  686.   Object Segments are listed in the order in which the object was 
  687.   loaded/created in the LightWave Scene.  
  688.  
  689.   The following functions are listed for each object instance.
  690.  
  691.      (See Sections 3.2 and 3.3 for full descriptions)
  692.  
  693.       LoadObject <filename> ¦ AddNullObject NullObject
  694.  
  695.       ShowObject <value> <value>
  696.  
  697.       ObjectMotion (unnamed)  (Identifier Only)
  698.  
  699.       Number of Information Channels
  700.  
  701.       Number of Keyframes
  702.  
  703.       Keyframe Information
  704.  
  705.       EndBehavior <value>
  706.  
  707.       ShadowOptions <value>
  708.  
  709.   Additional functions are listed in the scene file as they are activated by 
  710.   the user.
  711.  
  712.     (See Sections 3.2 and 3.3 for full descriptions)
  713.  
  714.  
  715. 3.1.3 Example Object Section
  716.  
  717. The following Object Section contains two objects.
  718.  
  719.     Preceding Scene Section........
  720.  
  721. LoadObject Objects/Tutorial/LightBeam.lwo
  722. ShowObject 4 7
  723. ObjectMotion (unnamed) 
  724.  9
  725.  2 
  726. -1.855599  1.543649  2.164339  -90.000000  360.000000  720.000000   
  727. 1.0   1.0    1.0  0  0  1.0   0.0   0.0 
  728. -1.321534   2.235439  2.164330  -60.000000  360.000000 180.000000   
  729. 1.0   1.0    1.0  15  0  1.0   0.0   0.0 
  730. EndBehavior 1
  731. ShadowOptions 7
  732.  
  733. AddNullObject Null
  734. ShowObject 4 7
  735. ObjectMotion (unnamed)
  736.  9
  737.  1
  738.  0 0 0 0 0 0 1 1 1 
  739.  0 0 0 0 0 
  740. EndBehavior 1
  741. ShadowOptions 7
  742.  
  743.     Additional Scene Listings............
  744.  
  745.  
  746.  
  747. 3.2 OBJECT FUNCTIONS
  748.  
  749.  
  750. 3.2.1 Function Order
  751.  
  752. The following object functions are listed in the order in which they appear 
  753. in the scene file.
  754.  
  755.   Functions denoted with an asterisk (*) are required for all object instances.
  756.  
  757.   Italicized entries denote function labels and are not true function names .
  758.  
  759.   Indented entries denote an optional function of the preceding function.
  760.  
  761.         LoadObject [AddNullObject]  *
  762.  
  763.         ShowObject *
  764.  
  765.         ObjectMotion (identifier)  *
  766.  
  767.         Number of Information Channels *
  768.  
  769.         Number of Keyframes * 
  770.  
  771.         Keyframe information *
  772.  
  773.         EndBehavior *
  774.  
  775.         LockedChannels
  776.  
  777.         HLimits
  778.  
  779.         PLimits
  780.  
  781.         BLimits
  782.  
  783.         PivotPoint
  784.  
  785.         ParentObject
  786.  
  787.         GoalObject
  788.  
  789.         IKAnchor
  790.  
  791.         Object Skeleton   (see Section 3.3)
  792.  
  793.         Metamorph
  794.  
  795.             MorphTarget
  796.  
  797.             MorphSurfaces
  798.  
  799.         DisplacementMap (see Section 3.4)
  800.  
  801.         ClipMap  (see Section 3.4)
  802.  
  803.         ObjDissolve
  804.  
  805.         DistanceDissolve
  806.  
  807.             MaxDissolveDistance
  808.  
  809.         PolygonSize
  810.  
  811.         Particle/Line Size
  812.  
  813.         UnaffectedByFog
  814.  
  815.         ObjPolygonEdges
  816.  
  817.             ObjEdgeColor
  818.  
  819.         UnseenByRays
  820.  
  821.         ShadowOptions *
  822.  
  823.  
  824. 3.2.2 Function Descriptions
  825.  
  826. The following object functions are listed in the order in which they appear 
  827. in the scene file.
  828.  
  829.  
  830. LoadObject  <object path + filename>  (Alternative: AddNullObject)
  831.  
  832. example:      LoadObject Objects/Tutorial/LightBeam.lwo
  833.  
  834. The LoadObject function is the first listing in all Object Segments.  It 
  835. provides LightWave with the path and filename for the object to be loaded.  
  836. The object's path is generated by adding the current content directory to 
  837. the beginning of the given path and filename.  
  838.  
  839. In this example if the current content directory were <c:/NewTek>, LightWave 
  840. would attempt to load the file <c:/NewTek/Objects/Tutorial/LightBeam.lwo>.
  841.  
  842. It is possible to have duplicate objects in a scene file.  When the LoadObject 
  843. function is called, and the object name already exists, a numbered suffix is 
  844. added to the duplicate object's name.  This number is enclosed in parenthesis 
  845. and follows the object name.  
  846.  
  847. For example:  LightBeam.lwo (2) is the second instance of the LightBeam.lwo 
  848. object in the current scene file.
  849.  
  850. The added suffix is not saved in the scene file, and is used only as a user 
  851. reference.
  852.  
  853.     Alternative:  AddNullObject NullObject
  854.  
  855.     Alternative example:      AddNullObject NullObject
  856.  
  857.     The AddNullObject function will create a null object named "NullObject" 
  858.     in the current scene.  NullObjects are treated as a normal object in 
  859.     the scene file.
  860.  
  861. User Interface:  The LoadObject/AddNullObject listing is produced from the 
  862. following functions on the Objects Panel; LoadObject, Load from Scene, and 
  863. Add Null Object.
  864.  
  865. The LoadObject/AddNullObject function is listed with all objects.
  866.  
  867.  
  868. ShowObject <refresh value> <color value>
  869.  
  870. example:     ShowObject 4 7
  871.  
  872. The ShowObject function determines how the object is going to be displayed in 
  873. Layout.
  874.  
  875.   Refresh value
  876.  
  877. This argument sets the type of wireframe refresh for the object when displayed 
  878. in Layout.  
  879.  
  880. <refresh value>:    0 - No Refresh
  881.             1 - Bounding Box
  882.             2 - Points Only
  883.             3 - Every 4th Polygon
  884.             4 - Full Polygon (Default)
  885.  
  886. User Interface:  The refresh value is selected in the second column of the 
  887. Scene Overview from the Scene Menu.      
  888.  
  889.  
  890.  Color value
  891.  
  892. This argument sets the color of the object's wireframe when not selected in 
  893. Layout.  When selected, all items highlight to yellow.
  894.  
  895. <color value>:        1 - Blue
  896.             2 - Green
  897.             3 - Light Blue
  898.             4 - Red
  899.             5 - Purple
  900.             6 - Orange
  901.             7 - Gray
  902.  
  903. User Interface: The color value is selected in the first column of the 
  904. Scene Overview from the Scene Menu.
  905.  
  906. The ShowObject function is listed with all objects.
  907.  
  908.  
  909. ObjectMotion (unnamed)
  910.  
  911. example:     ObjectMotion (unnamed)
  912.  
  913.  
  914. The ObjectMotion identifier denotes the beginning of the keyframe information 
  915. for the current object segment.  It does not require any arguments to be 
  916. passed to it.
  917.  
  918. In previous versions of LightWave an external motion file could be called 
  919. with this function.  The (unnamed ) value was replaced with the motion 
  920. filename, and the keyframe information was left in the external file.  
  921. This lead to problems when the external motion file was deleted, moved 
  922. or changed.  The result was lost keyframe information.  For this reason, 
  923. when an external motion file is now loaded into LightWave, the keyframe 
  924. information is stored within the local scene file.
  925.  
  926. User Interface: None
  927.  
  928. The ObjectMotion identifier is listed with all objects.
  929.  
  930.  
  931. Number of Information Channels:  <9>
  932.  
  933. The Number of Information Channels is a numeric value with no header that 
  934. follows the ObjectMotion identifier.  The value for the number of information 
  935. channels is equal to the number of variables to be provided per keyframe.  
  936. For LightWave object keyframes, the variables are listed as follows:  
  937. X position, Y position, Z position, Heading, Pitch, Bank, X Scale, Y Scale, 
  938. and Z Scale.   For object motions, the number of information channels value 
  939. is automatically set to 9 by LightWave.  The user has no access to this value.  
  940.  
  941. User Interface: None
  942.  
  943. The number of information channels is listed with all objects.
  944.  
  945.  
  946. Number of Keyframes:  <int>
  947.  
  948. The Number of Keyframes is an integer value with no header that follows the 
  949. Number of Information Channels.  This value provides the number of keyframes 
  950. for the current object.  It is immediately followed by the keyframe 
  951. information.  Every object will have at least one keyframe at frame 0.  
  952.  
  953. User Interface:  The number of keyframes is taken from the motion path the user 
  954. creates for an object.
  955.  
  956. The Number of Keyframes is listed with all objects.
  957.  
  958.  
  959. Keyframe Information:
  960.  
  961. -1.321534   2.235439  2.164330  -60.000000  360.000000  180.000000   
  962. 1.0   1.0   1.0  15  0  1.0   0.0   0.0 
  963.  
  964. The values are listed as follows:
  965.  
  966. 1st Line:
  967.  
  968. XPosition, YPosition, ZPosition, Heading, Pitch, Bank
  969.  
  970. 2nd Line:
  971.  
  972. XScale, YScale, ZScale, Frame Number, Linear Value, Tension, Continuity, Bias
  973.  
  974. At least one keyframe (frame 0) is listed for each object.
  975.  
  976. (See Section 1.3 Keyframes)
  977.  
  978.  
  979. EndBehavior <value>
  980.  
  981. example:     EndBehavior 2
  982.  
  983. The EndBehavior function determines how the object will react when the 
  984. last keyframe has been reached. The available choices are: reset, stop 
  985. and repeat. 
  986.  
  987. <value>:    0 - Reset
  988.         1 - Stop (Default)
  989.         2 - Repeat
  990.  
  991. User Interface: The EndBehavior value is set from the object's motion graph panel.
  992.  
  993. The EndBehavior option is listed with all objects.
  994.  
  995.  
  996. LockedChannels <bit-field value>
  997.  
  998. example:     LockedChannels 4093
  999.  
  1000. The LockedChannels function determines the extent of the mouse control 
  1001. from LightWave's Layout.  Separate independent channels of motion, 
  1002. rotation, etc. can be locked off to restrict the mouse's  control on 
  1003. the current object.  The mouse functions that it can effect are:  
  1004. Move (X,Y,Z), Rotate(H,P,B), Scale/Stretch(X,Y,Z), and MovePivotPoint(X,Y,Z).
  1005.  
  1006. The bit-field value is produced by calculating the decimal value of a 
  1007. 12 position bit-field whose bits represent logical on/off switches that 
  1008. are number left to right from 0 - 11.  The least-significant bit for 
  1009. this field is the rightmost bit.  Each channel has a corresponding bit 
  1010. in the bit-field.  When a channel is locked, its bit (or switch) is 
  1011. turned on.
  1012.  
  1013. <bit positions>:    0 - Move X
  1014.             1 - Move Y
  1015.             2 - Move Z
  1016.             3 - Rotate Heading
  1017.             4 - Rotate Pitch
  1018.             5 - Rotate Bank
  1019.             6 - Scale X / Size X  (channels are connected)
  1020.             7 - Scale Y / Size Y (channels are connected)
  1021.             8 - Scale Z / Size Z (channels are connected)
  1022.             9 - MovePivotPoint X
  1023.             10 - Move Pivot Point Y
  1024.             11 - Move Pivot Point Z
  1025.  
  1026. User Interface:  The LockedChannels function is set from the Layout mouse 
  1027.          control area.
  1028.  
  1029.  
  1030. HLimits <min. angle> <max. angle>
  1031.  
  1032. example:    HLimits -37.5 180
  1033.  
  1034. The HLimits function provides the minimum and maximum angles of heading 
  1035. rotation for the Inverse Kinematics function.  
  1036.  
  1037. <min. angle>,<max. angle>:  Range = -360 to 360
  1038.  
  1039. User Interface:  The HLimits angles are set from the IK Options controls 
  1040.          from Layout.
  1041.  
  1042.  
  1043. PLimits <min. angle> <max. angle>
  1044.  
  1045. example:    PLimits -37.5 180
  1046.  
  1047. The PLimits function provides the minimum and maximum angles of the pitch 
  1048. rotation for the Inverse Kinematics function.  
  1049.  
  1050. <min. angle>,<max. angle>:  Range = -360 to 360
  1051.  
  1052. User Interface:  The PLimits angles are set from the IK Options controls 
  1053.          from Layout.
  1054.  
  1055. BLimits <min. angle> <max. angle>
  1056.  
  1057. example:    BLimits -37.5 180
  1058.  
  1059. The BLimits function provides the minimum and maximum angles of the banking 
  1060. rotation for the Inverse Kinematics function.  
  1061.  
  1062. <min. angle>,<max. angle>:  Range = -360 to 360
  1063.  
  1064. User Interface:  The BLimits angles are set from the IK Options controls 
  1065.               from Layout.
  1066.  
  1067.  
  1068. PivotPoint <x position> <y position> <z position>
  1069.  
  1070. example:  PivotPoint 0 16.9 -11.6
  1071.  
  1072. The PivotPoint function provides the x, y, and z positions for the pivot 
  1073. point of the object.  This determines the center of rotation for the 
  1074. current object.  The position values are given as a distance (meters) 
  1075. of offset from the original object center.
  1076.  
  1077. User Interface:  The PivotPoint values are set from the Move Pivot Point 
  1078.          mouse function in Layout.
  1079.  
  1080.  
  1081. ParentObject <object instance>
  1082.  
  1083. example:     ParentObject 4
  1084.  
  1085. The ParentObject function provides LightWave with the current object's 
  1086. parent object in the hierarchical chain.  The value is equal to the 
  1087. parent objects position in the loading sequence.  The example function
  1088. would parent the current object to the fourth object instance in the 
  1089. scene file.  When the ParentObject function is active, all keyframe 
  1090. information for the object becomes an offset from the parents information.
  1091.  
  1092. User Interface:  Objects hierarchies are created by selecting the parent 
  1093.          function from layout.  The parent object is then selected 
  1094.          from the pop-up listing provided.
  1095.  
  1096.  
  1097. GoalObject <object instance>
  1098.  
  1099. example:  GoalObject 5
  1100.  
  1101. The GoalObject function provides LightWave with the current object's goal 
  1102. object for an inverse kinematics chain.  The value is equal to the goal 
  1103. object position in the loading sequence.  The example function would goal 
  1104. the current object to the fifth object instance in the scene file.
  1105.  
  1106. User Interface:  The GoalObject is chosen from the IK options from Layout.
  1107.  
  1108.  
  1109. IKAnchor <flag>
  1110.  
  1111. example:  IKAnchor 1
  1112.  
  1113. The IKAnchor function sets the current object as an anchor object in an 
  1114. inverse kinematics chain.  The predecessors of this object would not be 
  1115. affected by the goal of its children.
  1116.  
  1117. <flag>:    0 - Off (No function listing)
  1118.     1 - On  (Function listing)
  1119.  
  1120. User Interface:  The IKAnchor flag is set from the IK options from Layout.
  1121.  
  1122.  
  1123. Object Skeleton:  (See Object Skeleton Section 3.3)
  1124.  
  1125. The Object Skeleton listing is a label for the Bones area of the 
  1126. LightWave scene file.  This is the location where the object deformation 
  1127. bones are listed.  This function is described in detail in the Object 
  1128. Skeleton Section 3.3.  
  1129.  
  1130.  
  1131. Metamorph <percentage> ¦ (envelope)
  1132.  
  1133. example:     Metamorph 0.500000
  1134.  
  1135. The Metamorph function provides LightWave with the information needed to 
  1136. morph the current object into a target object that is provided in the 
  1137. MorphTarget function.
  1138.  
  1139. The value is the percentage of change between the current object and 
  1140. its target.  The function's value can be changed over time with an 
  1141. envelope.  If an envelope is chosen, the functions value is replaced 
  1142. with an envelope identifier.  For more information on envelopes, see 
  1143. the Envelopes Section 1.4.
  1144.  
  1145. When the Metamorph function is selected, two additional function listings 
  1146. are necessary.  These are listed below:
  1147.  
  1148.     Additional:     MorphTarget  <object instance>
  1149.  
  1150.     example:     MorphTarget 2
  1151.  
  1152.     The MorphTarget function provides the morph target's object position 
  1153.     in the object listing.
  1154.  
  1155.     
  1156.     Additional:     MorphSurfaces  <flag>
  1157.  
  1158.     example:     MorphSurfaces 1
  1159.  
  1160.     The MorphSurfaces flag activates the morphing of the surface attributes. 
  1161.  
  1162.       <flag>:    0 - Off
  1163.             1 - On
  1164.  
  1165.     User Interface:  The Metamorph functions are set from the Objects Panel.
  1166.  
  1167.  
  1168. DisplacementMap:  (See Displacement Map Section 3.4)
  1169.  
  1170. The DisplacementMap function deforms the geometry of an object using either 
  1171. image maps or procedural textures.
  1172.  
  1173. This function is described in detail in the DisplacementMap/ClipMap 
  1174. Section 3.4.
  1175.  
  1176. User Interface:  The DisplacementMap controls are located on the Objects Panel.
  1177.  
  1178.  
  1179. ClipMap:  (See Clip Map Section 3.4)
  1180.  
  1181. The ClipMap function "clips" or removes parts of an object's geometry using 
  1182. either image maps or procedural textures.
  1183.  
  1184. This function is described in detail in the ClipMap Section 3.4.
  1185.  
  1186. User Interface:  The ClipMap controls are located on the Objects Panel.
  1187.  
  1188.  
  1189. ObjDissolve  <percentage> ¦ (envelope)
  1190.  
  1191. example:     ObjDissolve 0.500000
  1192.  
  1193. The ObjDissolve function determines the object's dissolve level during the 
  1194. rendering process.  The example would produce an object that is 50% dissolved 
  1195. throughout the animation.  The  value is listed as a percentage out to six 
  1196. decimal places.  If the value is left at the default of 0% dissolved, the 
  1197. function does not provide a listing in the scene file.  The value of this 
  1198. function can be changed over time with an envelope.  If an envelope is 
  1199. selected, the functions value is replaced with an envelope identifier.  
  1200. For more information on envelopes, see the Envelopes Section 1.4.
  1201.  
  1202. User Interface:  The ObjDissolve function is set from the Objects Panel.
  1203.  
  1204.  
  1205. DistanceDissolve <flag>
  1206.  
  1207. example:     DistanceDissolve 1
  1208.  
  1209. The DistanceDissolve flag turns the distance dissolve function on and off.  
  1210. This function produces a DistanceDissolve listing  with a value of 1 and 
  1211. adds the MaxDissolveDistance listing (see below) when turned on.  When 
  1212. turned off, this function does not provide a listing in the scene file.
  1213.  
  1214. <flag>:    0 - Off (No Listing)
  1215.     1 - On  (Function listing plus additional MaxDissolveDistance listing)
  1216.  
  1217.  
  1218.     Additional:     MaxDissolveDistance <distance>
  1219.  
  1220.     example:     MaxDissolveDistance 25.000000
  1221.  
  1222.     The MaxDissolveDistance function provides the distance from the 
  1223.     camera that the object will be %100 dissolved.  In the example shown, 
  1224.     the object will be completely dissolved at 25 meters.
  1225.  
  1226.     User Interface:  The DistanceDissolve functions are set from the 
  1227.              Objects Panel.
  1228.  
  1229.  
  1230. PolygonSize <percentage> ¦ (envelope)
  1231.  
  1232. example:     PolygonSize 0.350000
  1233.  
  1234. The PolygonSize function provides a value that adjusts the polygon size 
  1235. of all polygons in the current object.  The example would produce an 
  1236. object with all polygons 35% of their original size.  If the value is 
  1237. left at the default 100%, this function does not provide a listing in 
  1238. the scene file.  The value of this function can be changed over time 
  1239. with an envelope.  If an envelope is selected, the functions value is 
  1240. replaced with an envelope identifier.  For more information on envelopes, 
  1241. see the Envelopes Section 1.4. 
  1242.  
  1243. User Interface:  The PolygonSize function is set from the Objects Panel.
  1244.  
  1245.  
  1246. Particle/LineSize <value>
  1247.  
  1248. example:  Particle/LineSize 1
  1249.  
  1250. The Particle/LineSize function determines the size of a one and two point 
  1251. polygons when rendered.
  1252.  
  1253. If the value is left at the default of Automatic, no function listing is 
  1254. produced in the scene file.
  1255.  
  1256. <value>:    0 - Automatic (No function listing)
  1257.         1-  Small
  1258.         2 - Medium
  1259.         3 - Large
  1260.  
  1261. User Interface:  The Particle/LineSize function is set from the 
  1262.          Particle/Line Size pop-up panel on the Objects Panel.
  1263.  
  1264.  
  1265. UnaffectedByFog <flag>
  1266.  
  1267. example:  UnaffectedByFog 1
  1268.  
  1269. The UnaffectedByFog flag activates the Unaffected by Fog function that 
  1270. will allow the current object to render normally when fog is turned on.  
  1271. This function produces a UnaffectedByFog listing  with a value of 1 when 
  1272. turned on.  When turned off, this function does not produce a listing in 
  1273. the scene file.
  1274.  
  1275. <flag>:    0 - Off (No function listing)
  1276.     1 - On
  1277.  
  1278. User Interface:  The UnaffectedByFog function is set from the Objects Panel.
  1279.  
  1280.  
  1281. ObjPolygonEdges <flag>
  1282.  
  1283. example:     ObjPolygonEdges 1
  1284.  
  1285. The ObjPolygonEdges flag activates the Polygon Edges function that renders 
  1286. all polygons with a visible outline.  This function produces a 
  1287. ObjPolygonEdges listing  with a value of 1 and adds an ObjEdgeColor 
  1288. listing (see below) when turned on.  When turned off, this function does 
  1289. not produce a listing in the scene file.
  1290.  
  1291. <flag>:    0 - Off (No function listing)
  1292.     1 - On  (Function listing plus additional listing)
  1293.  
  1294.  
  1295.     Additional:     ObjEdgeColor <red value> <green value> <blue value>
  1296.  
  1297.     example:     ObjEdgeColor 0 0 255
  1298.  
  1299.     The ObjEgdeColor function provides the RGB color values for the 
  1300.     object's polygon edges.
  1301.  
  1302.     <color value range>:    red value -    0 - 255
  1303.                 green value -    0 - 255
  1304.                 blue value -    0 - 255
  1305.  
  1306.     User Interface:  The ObjPolygonEdges functions are set from the 
  1307.              Objects Panel.
  1308.  
  1309.  
  1310. ShadowOptions <bit-field value>
  1311.  
  1312. example:     ShadowOptions 7
  1313.  
  1314. The ShadowOptions function provides the shadowing characteristics for 
  1315. the current object.
  1316.  
  1317. The bit-field value is produced by calculating the decimal value of a 
  1318. 3 position bit-field whose bits represent logical on/off switches that 
  1319. are number left to right from 0 to 2.  The least-significant bit for this 
  1320. field is the rightmost bit.   Each shadow option has a corresponding bit 
  1321. in the bit-field.  When a shadow option is turned on, its bit (or switch) 
  1322. is turned on.
  1323.  
  1324. <bit position>:    0 - Self Shadow
  1325.         1 - Cast Shadow
  1326.         2 - Receive Shadow 
  1327.  
  1328. The ShadowOptions function produces a listing for all objects.
  1329.  
  1330. User Interface:  The shadow options function is set from 
  1331.          the bottom of the Objects Panel.
  1332.  
  1333.  
  1334.  
  1335. 3.3  OBJECT SKELETON
  1336.  
  1337.  
  1338. 3.3.1  Object Skeleton Information
  1339.  
  1340.   The Object Skeleton Section is a series of one or more bone descriptions 
  1341.   that are listed within an object segment.
  1342.  
  1343.   An object skeleton does not appear in all object segments.  It is listed 
  1344.   when at least one bone has been added to an object.
  1345.  
  1346.   Multiple bones in an object segment are listed sequentially in the 
  1347.   order in which they were created.
  1348.  
  1349.  
  1350. 3.3.2 Example Object Segment with Bones
  1351.  
  1352. Below is an example of an object segment that contains one bone:
  1353.  
  1354. LoadObject Objects/Tutorial/Arm.lwo
  1355. ShowObject 4 7
  1356. ObjectMotion (unnamed) 
  1357.  9
  1358.  2 
  1359. -1.855599  1.543649  2.164339  -90.000000  360.000000  720.000000   
  1360. 1.0   1.0    1.0  0  0  1.0   0.0   0.0 
  1361. -1.321534   2.235439  2.164330  -60.000000  360.000000 180.000000   
  1362. 1.0   1.0    1.0  15  0  1.0   0.0   0.0 
  1363. EndBehavior 1
  1364.  
  1365. AddBone
  1366. BoneName Bone
  1367. ShowBone 1 7
  1368. BoneActive 1
  1369. BoneRestPosition 0.000000 5.000000 11.000000
  1370. BoneRestDirection 179.000000 -0.620000 0.000000
  1371. BoneRestLength 7.500000
  1372. ScaleBoneStrength 1
  1373. BoneStrength 1.000000
  1374. BoneMotion (unnamed)
  1375.  9
  1376.  2
  1377. -4.40173 19.4 24.5796 373.551 -4.4 0 1 1 1
  1378. 0 0 0 0 0
  1379. -4.00753 19.1294 20.6751 366.985 -0.379068 0 1 1 1
  1380. 10 0 0 0 0
  1381. EndBehavior 1
  1382. ShadowOptions 7
  1383.  
  1384.  
  1385. 3.3.3  Object Skeleton Function Order
  1386.  
  1387. The following object skeleton functions are listed in the order in which they 
  1388. appear in the scene file.
  1389.  
  1390.   Functions denoted with an asterisk (*) are required for all object instances.
  1391.  
  1392.   Italicized entries denote function labels and are not true function names .
  1393.  
  1394.   Indented entries denote an optional function of the preceding function.
  1395.  
  1396.         AddBone *
  1397.  
  1398.         BoneName *
  1399.  
  1400.         ShowBone *
  1401.  
  1402.         BoneActive *
  1403.  
  1404.         BoneRestPosition *
  1405.  
  1406.         BoneRestDirection *
  1407.  
  1408.         BoneRestLength *
  1409.  
  1410.         ScaleBoneStrength *
  1411.  
  1412.         BoneStrength *
  1413.  
  1414.         BoneLimitedRange
  1415.  
  1416.             BoneMinRange
  1417.  
  1418.             BoneMaxRange
  1419.  
  1420.         BoneMotion (identifier) *
  1421.  
  1422.         Number of Information Channels *
  1423.  
  1424.         Number of Keyframes *
  1425.  
  1426.         Keyframe Information *
  1427.  
  1428.         EndBehavior *
  1429.  
  1430.         LockedChannels
  1431.  
  1432.         HLimits
  1433.  
  1434.         PLimits
  1435.  
  1436.         BLimits
  1437.  
  1438.         ParentObject
  1439.  
  1440.         GoalObject
  1441.  
  1442.         IKAnchor
  1443.  
  1444.  
  1445. 3.3.4  Object Skeleton Function Descriptions
  1446.  
  1447. The following object skeleton functions are listed in the order in which 
  1448. they appear in the scene file.  Functions that do not have a local User 
  1449. Interface: description are located on the Object Skeleton control panel 
  1450. accessed from the Objects Panel.
  1451.  
  1452.  
  1453.  
  1454. AddBone
  1455.  
  1456. example:  AddBone
  1457.  
  1458. The AddBone function is the first function called in an object skeleton.  
  1459. It is called for each instance of a bone loading.  This function will add 
  1460. a bone to the current object and produce a series of function listings for 
  1461. this bone.
  1462.  
  1463.  
  1464. BoneName  Bone ¦ <string>
  1465.  
  1466. example:  BoneName FootBone
  1467.  
  1468. The BoneName function provides a name for the bone created with the AddBone 
  1469. function.  If the user renames the bone using the Rename Bone function from 
  1470. the Object Skeleton control panel the string is listed following the function 
  1471. name.  If the user does not rename the bone, it is given the default name 
  1472. of Bone.  If multiple bones instances have the same name, duplicate bones 
  1473. are given a numbered suffix to the name during the loading/creation process.  
  1474. This number is enclosed in parenthesis and follows the bone name.  
  1475.  
  1476. An example:  FootBone (2) is the second instance of a bone with the name 
  1477. FootBone.  The suffix is not saved in the scene file, and is used only as 
  1478. a user reference.
  1479.  
  1480.  
  1481. ShowBone  <refresh value> <color value> 
  1482.  
  1483. example:     ShowBone 1 2
  1484.  
  1485. The ShowBone function determines how the bone is going to be displayed in 
  1486. Layout.  The above example would display this (as opposed to hiding it) as
  1487. a green bone.
  1488.  
  1489.  Refresh value
  1490.  
  1491. This argument sets the bones display type in Layout.
  1492.  
  1493. <Refresh value>:    0 - No Refresh (Hide)
  1494.             1 - Refresh (Show)
  1495.  
  1496. User Interface:  The refresh value is selected in the second column of the 
  1497.          Scene Overview from the Scene Menu.      
  1498.  
  1499.  Color value
  1500.  
  1501. This argument sets the color of the bone when not selected in Layout.  
  1502. When selected, all items highlight to yellow.
  1503.  
  1504. <Color value>:    1 - Blue
  1505.         2 - Green
  1506.         3 - Light Blue
  1507.         4 - Red
  1508.         5 - Purple
  1509.         6 - Orange
  1510.         7 - Gray
  1511.  
  1512. User Interface: The color value is selected in the first column of the 
  1513.         Scene Overview from the Scene Menu.
  1514.  
  1515.  
  1516. BoneActive <flag>
  1517.  
  1518. example:  BoneActive 1
  1519.  
  1520. The BoneActive flag activates the bone in layout and will allow it to begin 
  1521. deforming the object's geometry.  This function produces a BoneActive 
  1522. listing  with a value of 1 when turned on.  When turned off, this function 
  1523. does not produce a listing in the scene file.
  1524.  
  1525. <flag>:    0 - Off (No function listing)
  1526.     1 - On
  1527.  
  1528. User Interface:  This function is set from the Object Skeleton control 
  1529.         panel or by the keyboard shortcut of <r> for rest.
  1530.  
  1531. The BoneActive function is listed for all bones.
  1532.  
  1533.  
  1534. BoneRestPosition <x position> <y position> <z position>
  1535.  
  1536. example:  BoneRestPosition 0.500000 0.200000 1.35000
  1537.  
  1538. The BoneRestPosition function provides the initial rest x, y, z position 
  1539. of the bone.  In this position, the bone does not influence (distort) the 
  1540. object geometry.  
  1541.  
  1542. User Interface:  The BoneRestPosition function is set from the 
  1543.          Object Skeleton control panel or by the keyboard 
  1544.          shortcut of <r> for rest.
  1545.  
  1546. The BoneRestPosition function is listed for all bones.
  1547.  
  1548.  
  1549. BoneRestDirection <Heading angle> <Pitch angle> <Bank angle>
  1550.  
  1551. example:  BoneRestDirection 39.000000 7.900000 0.000000
  1552.  
  1553. The BoneRestDirection function provides the initial rest H,P,B rotations 
  1554. of the bone.  In this position, the bone does not influence (distort) the 
  1555. object geometry.
  1556.  
  1557. User Interface:  The BoneRestDirection function is set from the Object 
  1558.          Skeleton control panel or by the keyboard shortcut of <r> 
  1559.          for rest.
  1560.  
  1561. The BoneRestDirection function is listed for all bones.
  1562.  
  1563.  
  1564. BoneRestLength <float>
  1565.  
  1566. example:  BoneRestLength 1.078000
  1567.  
  1568. The BoneRestLength function provides the initial rest length of the bone.  
  1569. This is the "size" of the bone in Layout.
  1570.  
  1571. User Interface:  The BoneRestLength function is set from the Rest Length 
  1572.          field on the Object Skeleton control panel or by the 
  1573.          Rest Length mouse control in Layout.
  1574.  
  1575. The BoneRestLength function is listed for all bones.
  1576.  
  1577.  
  1578. ScaleBoneStrength <flag>
  1579.  
  1580. example:  ScaleBoneStrength 1
  1581.  
  1582.  
  1583.  
  1584. The ScaleBoneStrength flag  turns the ScaleBoneStrength function on.  The 
  1585. listing is produced by the Scale Strength by Rest Length check box on the 
  1586. Object Skeleton control panel.  This function allows the user to either 
  1587. lock the bone strength to the rest length of the bone, or to adjust them 
  1588. separately.  This function produces a ScaleBoneStrength listing  with a 
  1589. value of 1 when turned on.  
  1590.  
  1591. <flag>:    0 - Off (Default)
  1592.     1 - On (Scale Strength by Rest Length)
  1593.  
  1594. User Interface:  The ScaleBoneStrength function is set from the Scale 
  1595.          Strength by Rest Length check box on the Object Skeleton 
  1596.          control panel.
  1597.  
  1598. The ScaleBoneStrength flag is listed for all bones.
  1599.  
  1600.  
  1601. BoneStrength <float>
  1602.  
  1603. example:  BoneStrength 2.500000
  1604.  
  1605. The BoneStrength function provides the strength of a bone that is separate 
  1606. from it's rest length.  This functions value is used when the ScaleBoneStrength 
  1607. flag is turned off (0).  When the ScaleBoneStrength function is turned on, 
  1608. the bone strength is equal to the BoneRestLength.
  1609.  
  1610. User Interface:  The BoneStrength functions value is set from the Strength 
  1611.          field on the Object Skeleton control panel.
  1612.  
  1613. The BoneStrength function is listed for all bones.
  1614.  
  1615.  
  1616. BoneMotion (unnamed) 
  1617.  
  1618. example:     BoneMotion (unnamed)
  1619.  
  1620. The BoneMotion identifier denotes the beginning of the keyframe information 
  1621. for the current bone segment.  It does not require any arguments to be passed 
  1622. to it.
  1623.  
  1624. The BoneMotion identifier is listed with all bones.
  1625.  
  1626.  
  1627. Number of Information Channels:  <9>
  1628.  
  1629. The Number of Information Channels is a numeric value with no header that 
  1630. follows the BoneMotion identifier.  The value for the number of information 
  1631. channels is equal to the number of variables to be provided per keyframe.  
  1632. For LightWave bone keyframes, the variables are listed as follows:  
  1633. X position, Y position, Z position, Heading, Pitch, Bank, X Scale, Y Scale, 
  1634. and Z Scale.   For bone motions, the number of information channels value 
  1635. is automatically set to 9 by LightWave.  The user has no access to this value.  
  1636.  
  1637. User Interface: None
  1638.  
  1639. The number of information channels is listed with all bones.
  1640.  
  1641.  
  1642. Number of Keyframes:  <int>
  1643.  
  1644. The Number of Keyframes is an integer value with no header that follows the 
  1645. Number of Information Channels.  This value provides the number of keyframes 
  1646. for the current bone.  It is immediately followed by the keyframe information.  
  1647. Every bone will have at least one keyframe at frame 0.  
  1648.  
  1649. User Interface:  The number of keyframes is taken from the motion path the 
  1650. user creates for a bone.  
  1651.  
  1652. The Number of Keyframes is listed with all bones.
  1653.  
  1654.  
  1655. Keyframe Information:
  1656.  
  1657. -1.321534   2.235439  2.164330  -60.000000  360.000000  180.000000   
  1658. 1.0   1.0   1.0  15  0  1.0   0.0   0.0 
  1659.  
  1660. The values are listed as follows:
  1661.  
  1662. 1st Line:
  1663.  
  1664. XPosition, YPosition, ZPosition, Heading, Pitch, Bank
  1665.  
  1666. 2nd Line:
  1667.  
  1668. XScale, YScale, ZScale, Frame Number, Linear Value, Tension, Continuity, Bias
  1669.  
  1670. At least one keyframe (frame 0) is listed for each bone.
  1671.  
  1672. (See Section 1.3 Keyframes)
  1673.  
  1674.  
  1675. EndBehavior <value>
  1676.  
  1677. example:     EndBehavior 2
  1678.  
  1679. The EndBehavior function determines how the bone will react when the last 
  1680. keyframe has been reached. The available choices are: reset, stop and repeat.  
  1681.  
  1682. <value>:    0 - Reset
  1683.         1 - Stop (Default)
  1684.         2 - Repeat
  1685.  
  1686. User Interface: The EndBehavior value is set from the bone's motion graph panel.
  1687.  
  1688. The EndBehavior option is listed with all bones.
  1689.  
  1690.  
  1691. LockedChannels <bit-field value>
  1692.  
  1693. example:     LockedChannels 4093
  1694.  
  1695. The LockedChannels function determines the extent of the mouse control from 
  1696. LightWave's Layout.  Separate independent channels of motion, rotation, etc. 
  1697. can be locked off to restrict the mouse's  control on the current bone.  The 
  1698. mouse functions that it can effect are:  Move (X,Y,Z), Rotate(H,P,B), 
  1699. Scale/Stretch(X,Y,Z), and RestLength(X,Y,Z).
  1700.  
  1701. The value is produced by calculating the decimal value of a 12 position 
  1702. bit-field whose bits represent logical on/off switches that are number left 
  1703. to right from 0 - 11.  The least-significant bit for this field is the 
  1704. rightmost bit.  Each channel has a corresponding bit in the bit-field.  
  1705. When a channel is locked, its bit (or switch) is turned on.
  1706.  
  1707. <bit positions>:     0 - Move X
  1708.              1 - Move Y
  1709.              2 - Move Z
  1710.              3 - Rotate Heading
  1711.              4 - Rotate Pitch
  1712.              5 - Rotate Bank
  1713.              6 - Scale X / Size X  (channels are connected)
  1714.              7 - Scale Y / Size Y (channels are connected)
  1715.              8 - Scale Z / Size Z (channels are connected)
  1716.              9 - RestLength X
  1717.             10 - RestLength Y
  1718.             11 - RestLength Z
  1719.  
  1720. User Interface:  The LockedChannels function is set from the Layout mouse 
  1721.          control area.
  1722.  
  1723.  
  1724. HLimits <min. angle> <max. angle>
  1725.  
  1726. example:    HLimits -37.5 180
  1727.  
  1728. The HLimits function provides the minimum and maximum angles of heading 
  1729. rotation for the Inverse Kinematics function.  
  1730.  
  1731. <min. angle>,<max. angle>:  Range = -360 to 360
  1732.  
  1733. User Interface:  The HLimits angles are set from the IK Options controls 
  1734.          from Layout.
  1735.  
  1736.  
  1737. PLimits <min. angle> <max. angle>
  1738.  
  1739. example:    PLimits -37.5 180
  1740.  
  1741. The PLimits function provides the minimum and maximum angles of the pitch 
  1742. rotation for the Inverse Kinematics function.  
  1743.  
  1744. <min. angle>,<max. angle>:  Range = -360 to 360
  1745.  
  1746. User Interface:  The PLimits angles are set from the IK Options controls 
  1747.          from Layout.
  1748.  
  1749.  
  1750. BLimits <min. angle> <max. angle>
  1751.  
  1752. example:    BLimits -37.5 180
  1753.  
  1754. The BLimits function provides the minimum and maximum angles of the banking 
  1755. rotation for the Inverse Kinematics function.  
  1756.  
  1757. <min. angle>,<max. angle>:  Range = -360 to 360
  1758.  
  1759. User Interface:  These angles are set from the IK Options controls from Layout.
  1760.  
  1761.  
  1762. ParentObject <bone instance>
  1763.  
  1764. example:     ParentObject 4
  1765.  
  1766. The ParentObject function provides LightWave with the current bone's parent 
  1767. bone in the hierarchical chain.  The value is equal to the parent bone 
  1768. position in the loading/creation sequence.  The example function would parent 
  1769. the current bone to the fourth bone instance in the scene file.  When the 
  1770. ParentObject function is active, all keyframe information for the bone 
  1771. becomes an offset from the parents information.
  1772.  
  1773. User Interface:  Bone hierarchies are created by one of two methods.  
  1774.          The First is created by selecting the parent function from 
  1775.          layout.  The parent bone is then selected from the pop-up 
  1776.          listing provided.  The second method is to use the add child 
  1777.          bone     function from the Object Skeleton control panel.
  1778.  
  1779.  
  1780. GoalObject <object instance>
  1781.  
  1782. example:  GoalObject 5
  1783.  
  1784. The GoalObject function provides LightWave with the current bone's goal 
  1785. object for an inverse kinematics chain.  The value is equal to the goal 
  1786. object position in the loading sequence.  The example function would goal 
  1787. the current bone to the fifth object instance in the scene file.
  1788.  
  1789. User Interface:  The GoalObject function is set from the IK options from Layout.
  1790.  
  1791.  
  1792. IKAnchor <flag>
  1793.  
  1794. example:  IKAnchor 1
  1795.  
  1796. The IKAnchor function sets the current bone as an anchor bone in an inverse 
  1797. kinematics chain.  The predecessors of this bone would not be affected by 
  1798. the goal of its children.
  1799.  
  1800. <flag>:    0 - Off (No function listing)
  1801.     1 - On  (Function listing)
  1802.  
  1803. User Interface:  The IKAnchor function is set from the IK options from Layout.
  1804.  
  1805.  
  1806.  
  1807.  
  1808. 3.4  DISPLACEMENT MAP / CLIP MAP
  1809.  
  1810.  
  1811. 3.4.1 Displacement Map/Clip Map Information
  1812.  
  1813.   The DisplacementMap function deforms the geometry of an object using either 
  1814.   image maps or procedural textures.
  1815.  
  1816.   The ClipMap function "clips" or removes parts of an object's geometry using 
  1817.   either image maps or procedural textures.
  1818.  
  1819.   Two types of mapping available to these functions.  An image map or a 
  1820.   built-in procedural texture can be used with these functions.
  1821.  
  1822.  
  1823. 3.4.2 Example Object Segment with Displacement Map
  1824.  
  1825. Below is an example of an object segment that contains a ripple displacement map:
  1826.  
  1827.  
  1828. LoadObject Objects/Tutorial/LightBeam.lwo
  1829. ShowObject 4
  1830. ObjectMotion (unnamed) 
  1831.  9
  1832.  2 
  1833. -1.855599  1.543649  2.164339  -90.000000  360.000000  720.000000   
  1834. 1.0   1.0    1.0  0  0  1.0   0.0   0.0 
  1835. -1.321534   2.235439  2.164330  -60.000000  360.000000 180.000000   
  1836. 1.0   1.0    1.0  15  0  1.0   0.0   0.0 
  1837. EndBehavior 1
  1838. DisplacementMap Ripples
  1839. TextureFlags 13
  1840. TextureSize 1 1 1
  1841. TextureCenter 5 5 0
  1842. TextureAmplitude 0.250000
  1843. TextureInt0 3
  1844. TextureFloat0 0.500000
  1845. TextureFloat1 0.025000
  1846. ShadowOptions 7
  1847.  
  1848.  
  1849.  
  1850. 3.4.3  Mapping Function Order
  1851.  
  1852.  
  1853. The following mapping functions are listed in the order in which they appear 
  1854. in the scene file.
  1855.  
  1856. Functions denoted with an asterisk (*) are required for all mapping instances.
  1857.  
  1858.         DisplacementMap ¦ ClipMap *
  1859.  
  1860.         TextureImage *  (Image Mapping only)
  1861.  
  1862.         TextureFlags *
  1863.  
  1864.         TextureAxis *  (Image Mapping only)
  1865.  
  1866.         TextureSize *
  1867.  
  1868.         TextureCenter
  1869.  
  1870.         TextureFalloff
  1871.  
  1872.         TextureVelocity
  1873.  
  1874.         TextureAmplitude ¦  TextureValue
  1875.  
  1876.         TextureInt(index)   (Multiple instances possible) 
  1877.  
  1878.         TextureFloat(index)   (Multiple instances possible)
  1879.  
  1880.  
  1881.  
  1882. 3.4.4 Mapping Function Descriptions
  1883.  
  1884.  
  1885. The following functions are listed in the order in which they appear in the 
  1886. scene file.
  1887.  
  1888.  
  1889. DisplacementMap <mapping type> ¦ Clip Map <mapping type> 
  1890.  
  1891.  
  1892.  DisplacementMap <projection type> ¦ <procedural texture>
  1893.  
  1894. The DisplacementMap function is the first line of a Displacement Map segment.  
  1895. It provides the mapping type and selection.
  1896.  
  1897.     - Image Mapping
  1898.  
  1899.     example:  DisplacementMap cylindrical image map
  1900.  
  1901.     If image mapping is used,  the argument of the projection type is 
  1902.     provided.  This  mapping type produces additional listings for the 
  1903.     TextureImage and the TextureAxis functions .
  1904.  
  1905.     <projection type>:    Planar Image Map
  1906.                 Cylindrical Image Map
  1907.                 Spherical Image Map
  1908.  
  1909.     - Procedural Texture Mapping
  1910.  
  1911.     example:  DisplacementMap Ripples
  1912.  
  1913.     If procedural texture mapping is used, the argument of a texture name 
  1914.     is provided.  This mapping type produces the additional listings given 
  1915.     with each procedural below:
  1916.  
  1917.     <procedural type>:    
  1918.  
  1919.             Ripples:
  1920.                 TextureInt0 <int>    - Wave Sources
  1921.  
  1922.                 TextureFloat0 <float>    - Wavelength
  1923.  
  1924.                 TextureFloat1 <float>    - Wave Speed
  1925.  
  1926.             Fractal Bumps: 
  1927.                 TextureInt0 <int>    - Frequencies
  1928.  
  1929.  
  1930.  
  1931.     
  1932.  
  1933. - ClipMap <projection type> ¦ <procedural texture>
  1934.  
  1935. The ClipMap function is the first line of a Clip Map segment.  It provides 
  1936. the mapping type and selection.
  1937.  
  1938.     - Image Mapping
  1939.  
  1940.     If image mapping is used, the argument of the projection type 
  1941.     is provided.  This mapping type produces an additional listing for 
  1942.     the TextureImage and TextureAxis functions.
  1943.  
  1944.     example:  ClipMap Planar Image Map
  1945.  
  1946.     <projection type>:    Planar Image Map
  1947.                 Cylindrical Image Map
  1948.                 Spherical Image Map
  1949.                 Cubic Image Map
  1950.                 Front Projection Map
  1951.  
  1952.  
  1953.     - Procedural Texture Mapping
  1954.  
  1955.     example:  ClipMap Underwater
  1956.  
  1957.     If procedural texture mapping is used, the argument of a texture name 
  1958.     is provided.  This mapping type produces the additional listings 
  1959.     given with each procedural below:            
  1960.  
  1961.     <procedural texture>:    
  1962.         Checkerboard:    no additional listings.
  1963.  
  1964.         Grid:        TextureFloat0 <float>     - Line Thickness
  1965.  
  1966.         Dots:        TextureFloat0 <float>    - Dot Diameter
  1967.                 TextureFloat1 <float>    - Fuzzy Edge Width
  1968.  
  1969.  
  1970.         Marble:        TextureInt0 <int>    - Frequencies
  1971.                 TextureFloat0 <float>    - Turbulence
  1972.                 TextureFloat1 <float>    - Vein Spacing
  1973.                 TextureFloat2 <float>    - Vein Sharpness
  1974.  
  1975.  
  1976.         Wood:        TextureInt0 <int>    - Frequencies
  1977.                 TextureFloat0 <float>    - Turbulence
  1978.                 TextureFloat1 <float>    - Ring Spacing
  1979.                 TextureFloat2 <float>    - Ring Sharpness
  1980.  
  1981.  
  1982.         Underwater:    TextureInt0 <int>    - Wave Sources
  1983.                 TextureFloat0 <float>    - Wavelength
  1984.                 TextureFloat1 <float>    - Wave Speed
  1985.                 TextureFloat2 <float>    - Band Sharpness
  1986.  
  1987.  
  1988.         Fractal Noise:    TextureInt0 <int>    - Frequencies
  1989.                 TextureFloat0 <float>    - Contrast
  1990.  
  1991.  
  1992.         Bump Array:    TextureFloat0 <float>    - Radius
  1993.                 TextureFloat1 <float>    - Spacing
  1994.                 TextureFloat2 <float>    - Bump Strength
  1995.  
  1996.  
  1997.         Crust:        TextureFloat0 <float>    - Coverage
  1998.                 TextureFloat1 <float>    - Ledge Level
  1999.                 TextureFloat2 <float>    - Ledge Width
  2000.                  TextureFloat3 <float>    - Bump Strength
  2001.  
  2002.  
  2003.         Veins:        TextureFloat0 <float>    - Coverage
  2004.                 TextureFloat1 <float>    - Ledge Level
  2005.                 TextureFloat2 <float>    - Ledge Width
  2006.                 TextureFloat3 <float>    - Bump Strength
  2007.  
  2008.             
  2009. TextureImage <path + filename> [ (sequence) ]
  2010.  
  2011. example:  TextureImage Images\LWLogo.tga
  2012.  
  2013. The TextureImage function provides the path and filename for the image to 
  2014. be loaded.  The path is generated by checking the current content directory 
  2015. for the listed filename.  
  2016.  
  2017. In this example if the current content directory is <c:\NewTek>, LightWave 
  2018. would attempt to load the file <c:\NewTek\Images\LWLogo.tga>.
  2019.  
  2020. It is possible to use image sequences as texture images.  If an image 
  2021. sequence is chosen, a sequence identifier is appended to the image path 
  2022. and filename.  An image sequence also produces an additional ImageSequenceInfo 
  2023. listing. (See Image Sequences Section 1.5)
  2024.  
  2025.  
  2026. TextureFlags <bit-field value>
  2027.  
  2028. example:  TextureFlags 12
  2029.  
  2030. The TextureFlags function provides additional texture settings.  
  2031.  
  2032. The bit-field value is produced by calculating the decimal value of a 
  2033. 4 position bit-field whose bits represent logical on/off switches that 
  2034. are number left to right from 0 - 3.  The least-significant bit for 
  2035. this field is the rightmost bit.  Each channel has a corresponding bit 
  2036. in the bit-field.  When a texture setting  is chosen, its bit (or switch) 
  2037. is turned on.
  2038.  
  2039. <bit positions>:    0 - World Coordinates
  2040.             1 - Negative Image
  2041.             2 - Pixel Blending
  2042.             3 - Antialiasing
  2043.  
  2044.  
  2045. TextureSize <X size> <Y size> <Z size>
  2046.  
  2047. example:  TextureSize 1.5 2 5.25
  2048.  
  2049. The TextureSize function provides the x, y and z dimensions of the image 
  2050. map or the procedural texture.
  2051.  
  2052. The arguments are given in meters.
  2053.  
  2054.  
  2055. TextureCenter <X position> <Y position> <Z position>
  2056.  
  2057. example:  TextureCenter 5 5 10
  2058.  
  2059. The TextureCenter function provides the X, Y, and Z positions of the center 
  2060. of the image map or the procedural texture.
  2061.  
  2062. The argument are given in meters from the origin (0,0,0)
  2063.  
  2064.  
  2065. TextureFalloff <X percentage> <Y percentage> <Z percentage>
  2066.  
  2067. example:  TextureFalloff 25 10.5 25
  2068.  
  2069. This function provides the percentage of falloff per meter in the X, Y and Z 
  2070. directions.
  2071.  
  2072. The arguments are given in percentage per unit measure (meter).
  2073.  
  2074.  
  2075. TextureVelocity <X  velocity> <Y velocity> <Z velocity>
  2076.  
  2077. example:  TextureVelocity 2.5 0 0
  2078.  
  2079. The TextureVelocity function provides the velocity of image map or procedural 
  2080. texture.  The value given is the value in units per frame.  The example would 
  2081. move the center of the texture 2.5 meters per frame in the positive x direction.
  2082.  
  2083.  
  2084. Texture Amplitude <float>  / Texture Value <percentage>
  2085.  
  2086.     -  TextureAmplitude (Displacement map only)
  2087.  
  2088.     example:  TextureAmplitude .25
  2089.  
  2090.     The TextureAmplitude function provides the amplitude (offset amount) 
  2091.     for the displacement map.
  2092.  
  2093.     -  TextureValue (Clip map only)
  2094.  
  2095.     example:  TextureValue 0.500000
  2096.  
  2097.     The TextureValue function provides a percentage value for the texture.
  2098.  
  2099.  
  2100. TextureInt(index) <int>   (Multiple Instances Possible)
  2101.  
  2102. example:  TextureInt0 3
  2103.  
  2104. The TextureInt function provides an integer value for a parameter of the 
  2105. texture selected in the DisplacementMap or ClipMap functions.  This function
  2106. may be called multiple times, each time the index is incremented and added to 
  2107. the function name.  For instance, the third parameter that required an integer 
  2108. value would be TextureInt2.
  2109.  
  2110.  
  2111. TextureFloat(index) <float>  (Multiple Instances Possible)
  2112.  
  2113. example:  TextureFloat2 0.250000
  2114.  
  2115. The TextureFloat function provides a floating point value for a parameter of a 
  2116. texture selected in the DisplacementMap or ClipMap functions.  This function 
  2117. may be called multiple times, each time the index is incremented and added to 
  2118. the function name.  For instance, the third parameter that required a floating 
  2119. point value would be TextureFloat2.
  2120.  
  2121.  
  2122.  
  2123.  
  2124.  
  2125. Chapter 4:            LIGHT SECTION
  2126.  
  2127.  
  2128. 4.1  LIGHT SECTION INFORMATION
  2129.  
  2130.  
  2131. 4.1.1 Light Section Description
  2132.  
  2133.  
  2134.   The Light Section contains all of the information that pertains to the 
  2135.   lights in a LightWave scene.
  2136.  
  2137.   LightWave loads and lists all lights in the order in which they appear 
  2138.   in the scene file.
  2139.  
  2140.   Duplicate light names are given a numbered suffix during the loading 
  2141.   process.  This number is enclosed in parenthesis and follows the light 
  2142.   name.  An example:  HeadLight (3) is the third instance of the light     
  2143.   name HeadLight.  The number is not saved in the scene file, and is 
  2144.   used only as a user reference.
  2145.  
  2146.   The Target and Parent functions use a value that is equal to the order 
  2147.   in which the referenced object was loaded in the scene.  i.e. The value 
  2148.   in the function ParentObject 3 means that the current light is parented 
  2149.   to the third object instance in the scene file.
  2150.  
  2151.  
  2152.  
  2153. 4.1.2 Individual Light Segment
  2154.  
  2155.  
  2156.     Preceding Scene and Object sections......
  2157.  
  2158. AmbientColor 255 255 255
  2159. AmbIntensity 0.250000
  2160. AddLight
  2161. LightName Light
  2162. ShowLight 0 7
  2163. LightMotion (unnamed)
  2164.  9
  2165.  1
  2166.  0 0 0 60 30 0 1 1 1 
  2167.  0 0 0 0 0 
  2168. EndBehavior 1
  2169. LightColor 255 255 255
  2170. LgtIntensity 1.000000
  2171. LightType 2
  2172. FallOff 0.000000
  2173. ConeAngle 30.000000
  2174. EdgeAngle 5.000000
  2175. ShadowCasting 1
  2176.  
  2177.     Additional Scene Listings.......
  2178.  
  2179.  
  2180.  
  2181. 4.2  LIGHT FUNCTIONS
  2182.  
  2183.  
  2184. 4.2.1 Function Order
  2185.  
  2186. The following is a list of light functions that are listed in the order 
  2187. in which they appear in the scene file.
  2188.  
  2189.  
  2190.   Functions denoted with an asterisk (*) are required for all light 
  2191.   loading instances.
  2192.  
  2193.   Italicized entries denote function labels and not true function names.
  2194.  
  2195.   Indented entries denote an optional function of the preceding function.
  2196.  
  2197.   Optional functions will produce a listing only when activated by the 
  2198.   user.
  2199.  
  2200.         AmbientColor  *
  2201.  
  2202.         AmbIntensity  *
  2203.  
  2204.         GlobalFlareIntensity (envelope)
  2205.  
  2206.         EnableLensFlare
  2207.  
  2208.         EnableShadowMaps
  2209.  
  2210.         AddLight  *
  2211.  
  2212.         LightName *
  2213.  
  2214.         ShowLight *
  2215.  
  2216.         LightMotion (identifier) *
  2217.  
  2218.         Number of Information Channels *
  2219.  
  2220.         Number of Keyframes *
  2221.  
  2222.         Keyframe Information *
  2223.  
  2224.         EndBehavior *
  2225.  
  2226.         LockedChannels
  2227.  
  2228.         ParentObject
  2229.  
  2230.         TargetObject
  2231.  
  2232.         LightColor *
  2233.  
  2234.         LgtIntensity *
  2235.  
  2236.         LightType *
  2237.  
  2238.         Falloff  (Point & Spot only)
  2239.  
  2240.         ConeAngle  (Spot only)
  2241.  
  2242.         EdgeAngle  (Spot only)
  2243.  
  2244.         LensFlare
  2245.  
  2246.             FlareIntensity
  2247.  
  2248.             FlareDissolve
  2249.  
  2250.             LensFlareFade
  2251.  
  2252.             LensFlareOptions
  2253.  
  2254.             FlareRandStreakInt
  2255.  
  2256.             FlareRandStreakDens
  2257.  
  2258.             FlareRandStreakSharp
  2259.  
  2260.         ShadowCasting *
  2261.  
  2262.         ShadowMapSize  (Spot only w/ Shadow Map)
  2263.  
  2264.         UseConeAngle  (Spot only w/ Shadow Map)
  2265.  
  2266.             ShadowMapAngle 
  2267.  
  2268.         ShadowFuzzines  (Spot only w/ Shadow Map)
  2269.  
  2270.  
  2271.  
  2272. 4.2.2 Function Descriptions
  2273.  
  2274. The following functions are listed in the order in which they appear in 
  2275. the scene file.
  2276.  
  2277. AmbientColor and AmbientIntensity are functions that are called once to 
  2278. set up the ambient lighting in a scene.  GlobalFlareIntensity, 
  2279. EnableLensFlare, and EnableShadowMaps are all global functions that 
  2280. effect all lights in a LightWave scene.  They are also called just once.
  2281.  
  2282. Beginning with AddLight, all functions following can be called for each 
  2283. light instance in a scene file. 
  2284.  
  2285.  
  2286. AmbientColor <Red value> <Green value> <Blue value>
  2287.  
  2288. example:  AmbientColor 200 200 200
  2289.  
  2290. The AmbientColor function provides the RGB color values for the ambient 
  2291. lighting in the scene.
  2292.  
  2293. <value range>:    Red value -     0 - 255
  2294.         Green value -     0 - 255
  2295.         Blue value -     0 - 255
  2296.  
  2297.  
  2298. AmbIntensity <percentage> ¦ (envelope)
  2299.  
  2300. example:  AmbIntensity 0.250000
  2301.  
  2302. The AmbientIntensity function provides the intensity of the ambient light 
  2303. in the scene.  The functions percentage value can be changed over time 
  2304. with an envelope.  If an envelope is chosen, the functions value is 
  2305. replaced with an envelope identifier.
  2306.  
  2307.  
  2308. GlobalFlareIntensity (envelope)
  2309.  
  2310. The GlobalFlareIntensity function provides an envelope to fluctuate the 
  2311. intensity of all lens flares in the scene at the same time.  This function 
  2312. does not have the option for a single percentage, it is adjusted only 
  2313. through an envelope.
  2314.  
  2315.  
  2316. EnableLensFlare <flag>
  2317.  
  2318. example:  EnableLensFlare 0
  2319.  
  2320. This function sets a global flag that enables/disables all lens flares 
  2321. in the scene.  This function produces a listing only when disabled (0).   
  2322.  
  2323. <flag>:        0 - Off
  2324.         1 - On (Default : No function listing)
  2325.  
  2326.  
  2327. EnableShadowMaps <flag>
  2328.  
  2329. example:  EnableShadowMaps 0
  2330.  
  2331. This function sets a global flag the enables/disables the calculation of 
  2332. shadow maps for all lights.  This function produces a listing only when 
  2333. disabled (0).
  2334.  
  2335. <flag>:        0 - Off
  2336.         1 - On (Default: No function listing)
  2337.  
  2338.  
  2339. AddLight
  2340.  
  2341. example:  AddLight
  2342.  
  2343. The AddLight function  is the first function in a light segment.    
  2344. It is called for each instance in a light in the scene file.
  2345.  
  2346.  
  2347. LightName Light ¦ <string>
  2348.  
  2349. example:  LightName HeadLight
  2350.  
  2351. This function provides a name for the light created with the AddLight 
  2352. function.  If the user renames the light using the Rename Light function 
  2353. from the Light menu, the string is listed following the function name.  
  2354. If the user does not rename the light, it is given the default name of 
  2355. Light.  If multiple light instances have the same name, duplicate light 
  2356. names are given a numbered suffix to the name during the loading/creation 
  2357. process.  This number is enclosed in parenthesis and follows the light name.  
  2358.  
  2359. An example:  HeadLight (2) is the second instance of a HeadLight.  The 
  2360. number is not saved in the scene file, and is used only as a user reference.
  2361.  
  2362.  
  2363. ShowLight <Refresh value> <Color value>
  2364.  
  2365. example:     ShowLight 0 5
  2366.  
  2367. The ShowLight function determines how the light is going to be displayed 
  2368. in Layout.  The above example would hide this bone until selected.  If it 
  2369. were set to visible refresh, it would be purple.
  2370.  
  2371.      Refresh value
  2372.  
  2373. This argument sets the lights display type in Layout.  
  2374.  
  2375. <Refresh value>:    0 - No Refresh (Hide)
  2376.             1 - Refresh (Show)
  2377.         
  2378. User:  This value is selected in the second column of the Scene Overview 
  2379. from the Scene Menu.      
  2380.  
  2381.  
  2382.      Color value
  2383.  
  2384. This argument sets the color of the light in Layout
  2385.  
  2386. <Color value>:    1 - Blue
  2387.         2 - Green
  2388.         3 - Light Blue
  2389.         4 - Red
  2390.         5 - Purple
  2391.         6 - Orange
  2392.         7 - Gray
  2393.  
  2394. User: This value is selected in the first column of the Scene Overview 
  2395. from the Scene Menu.
  2396.  
  2397.  
  2398. LightMotion (unnamed)
  2399.  
  2400. example:     LightMotion (unnamed)
  2401.  
  2402. This is a light motion label for the keyframe information of the current 
  2403. light segment.  It does not require any arguments to be passed to it.
  2404.  
  2405. The LightMotion identifier is listed with all light instances.
  2406.  
  2407.  
  2408. Number of Information Channels:  <9>
  2409.  
  2410. This is a numeric value with no header that follows the LightMotion 
  2411. identifier.  The value for the number of information channels is equal 
  2412. to the number of variables to be provided per keyframe.  For LightWave 
  2413. keyframes, the variables are listed as follows:  X position, Y position, 
  2414. Z position, Heading, Pitch, Bank, X Scale, Y Scale, and Z Scale.  For 
  2415. light motions, the number of information channels value is automatically 
  2416. set to 9 by LightWave.  The user has no access to this value.  
  2417.  
  2418. The number of information channels is listed with all light instances.
  2419.  
  2420.  
  2421. Number of Keyframes:  <int>
  2422.  
  2423. This is a numeric value with no header that follows the Number of 
  2424. Information Channels.  This value provides the number of keyframes for 
  2425. the current light.  It is immediately followed by the keyframe information.  
  2426. Every light instance  will have at least one keyframe at frame 0.  
  2427.  
  2428.  
  2429. The Number of Keyframes is listed with all light instances.
  2430.  
  2431.  
  2432. Keyframe Information:
  2433.  
  2434. -1.321534   2.235439  2.164330  -60.000000  360.000000  180.000000   
  2435. 1.0   1.0   1.0      15  0  1.0   0.0   0.0 
  2436.  
  2437. The values are listed as follows:
  2438.  
  2439. 1st Line:
  2440.  
  2441. XPosition, YPosition, ZPosition, Heading, Pitch, Bank
  2442.  
  2443. 2nd Line:
  2444.  
  2445. XScale, YScale, ZScale, Frame Number, Linear Value, Tension, Continuity, Bias
  2446.  
  2447. At least one keyframe (frame 0) is listed for each light.
  2448.  
  2449. (See Section 1.3 Keyframes)
  2450.  
  2451.  
  2452. EndBehavior <value>
  2453.  
  2454. example:     EndBehavior 2
  2455.  
  2456. The EndBehavior function determines how the light will react when the 
  2457. last keyframe has been reached. The available choices are:  reset, stop 
  2458. and repeat.  The default setting is stop.  
  2459.  
  2460. <value>:    0 - Reset
  2461.         1 - Stop (Default)
  2462.         2 - Repeat
  2463.  
  2464. User: This value is set from the light's motion graph panel.
  2465.  
  2466. The EndBehavior option is listed with all lights.
  2467.  
  2468.  
  2469. LockedChannels <bit-field value>
  2470.  
  2471. example:     LockedChannels 4093
  2472.  
  2473. This function determines the extent of the mouse control from LightWave's 
  2474. Layout.  Separate independent channels of motion, rotation, etc. can be 
  2475. locked off to restrict the mouse's  control on each channel.  The mouse 
  2476. functions that it can effect are:  Move (X,Y,Z), Rotate(H,P,B), 
  2477. Scale/Stretch(X,Y,Z), and RestLength(X,Y,Z).
  2478.  
  2479. The value is produced by calculating the decimal value of a 6 position 
  2480. bit-field whose bits represent logical on/off switches that are numbered 
  2481. left to right from 0 to 5.  The least significant bit for this field is 
  2482. the rightmost bit.  Each channel has a corresponding bit in the bit-field.  
  2483. When a channel is locked, it 's  bit (or switch) is turned on.
  2484.  
  2485. <bit positions>:    0 - Move X
  2486.             1 - Move Y
  2487.             2 - Move Z
  2488.             3 - Rotate Heading
  2489.             4 - Rotate Pitch
  2490.             5 - Rotate Bank
  2491.  
  2492. User:  This function is set from the Layout mouse control area.
  2493.  
  2494.  
  2495. ParentObject <object instance>
  2496.  
  2497. example:     ParentObject 4
  2498.  
  2499. This function provides LightWave with the current lights parent object 
  2500. in the hierarchical chain.  The value is equal to the parent objects 
  2501. position in the loading/creation sequence.  The example function would 
  2502. parent the current light to the fourth object instance in the scene file.  
  2503. When the ParentObject function is active, all keyframe information for 
  2504. the light becomes an offset from the parents information. 
  2505.  
  2506.  
  2507. TargetObject <object instance>
  2508.  
  2509. example:  TargetObject 3
  2510.  
  2511. This function provides LightWave with the current lights target object 
  2512. in the scene.  The value is equal to the target object's position in the 
  2513. loading/creation sequence.  The example function would target the current 
  2514. light to the fourth object instance in the scene file. 
  2515.  
  2516.  
  2517. LightColor <Red value> <Green value> <Blue value>
  2518.  
  2519. example:  LightColor 200 200 150
  2520.  
  2521. The LightColor function provides the RGB color values for the light that 
  2522. is cast from the current light source.
  2523.  
  2524. <value range>:    Red value -     0 - 255
  2525.         Green value -     0 - 255
  2526.         Blue value -     0 - 255
  2527.  
  2528.  
  2529. LgtIntensity <percentage> ¦ (envelope)
  2530.  
  2531. example:  LgtIntensity 0.750000
  2532.  
  2533. This function provides the intensity of the current light source as a 
  2534. percentage value.  This is equivalent to the "brightness of the light 
  2535. source".  The intensity value can go above 100%.  The function's value 
  2536. can be changed over time with an envelope.  If an envelope is chosen, 
  2537. the functions value is replaced with an envelope identifier.  
  2538.  
  2539. User:  This function is set from the Light Intensity field on the Lights 
  2540. Panel.
  2541.  
  2542.  
  2543. LightType <value>
  2544.  
  2545. example:  LightType 0
  2546.  
  2547. The LightType function provides type of light source for the current 
  2548. light instance.  
  2549.  
  2550. <value>:    0 - Distant
  2551.         1 - Point
  2552.         2 - Spot
  2553.  
  2554. User:  This function's value is chosen from the Light Type selections 
  2555. on the Lights Panel.
  2556.  
  2557.  
  2558. Falloff <percentage> ¦ (envelope)
  2559.  
  2560. example:  Falloff 0.350000
  2561.  
  2562. The Falloff function provides the percentage of light intensity falloff 
  2563. per meter.  This function is only used by Point (LightType 1) and 
  2564. Spot (LightType 2) lights.  This function's percentage can be fluctuated 
  2565. over time with an envelope.  If an envelope is chosen, the functions value 
  2566. is replaced with an envelope identifier.
  2567.  
  2568. User:  This function is set from the Intensity Falloff field on the 
  2569. Lights Panel.
  2570.  
  2571.  
  2572. ConeAngle <angle> ¦ (envelope)
  2573.  
  2574. example:  ConeAngle 30.000000
  2575.  
  2576. The ConeAngle function provides the degree angle of the light cone 
  2577. projected from the current light source.  This function only applies 
  2578. to Spot Lights (LightType 2).  This function's angle can be fluctuated 
  2579. over time with an envelope.  If an envelope is chosen, the functions 
  2580. value is replaced with an envelope identifier.
  2581.  
  2582. User:  This function is set from the SpotLight Cone Angle field on the 
  2583. Lights Panel.
  2584.  
  2585.  
  2586. EdgeAngle <angle> ¦ (envelope)
  2587.  
  2588. example:  EdgeAngle 5.000000
  2589.  
  2590. The EdgeAngle function provides the degree angle for the soft edge of 
  2591. the light cone projected from the current light source.  This function 
  2592. only applies to SpotLights (LightType 2).  This function's angle can be 
  2593. fluctuated over time with an envelope.  If an envelope is chosen, the 
  2594. function's value is replaced with an envelope identifier.
  2595.  
  2596. User:  This functions value is set from the Spot Soft Edge Angle field 
  2597. on the Lights Panel.
  2598.  
  2599.  
  2600. LensFlare <flag>
  2601.  
  2602. example:  LensFlare 1
  2603.  
  2604. This flag turns the LensFlare function on.  This function produces a 
  2605. LensFlare listing with a value of 1 and additional function listings 
  2606. when turned on.  When turned off, this function does not produce a 
  2607. listing in the scene file.
  2608.  
  2609. User:  This function is activated from the Lens Flare check box on the 
  2610. Lights Panel.
  2611.  
  2612.     Additional:  FlareIntensity <percentage> ¦ (envelope)
  2613.  
  2614.     example:  FlareIntensity 0.750000
  2615.  
  2616.     This function provides the intensity/size of the lens flare.  
  2617.     The intensity can be fluctuated with an envelope.
  2618.  
  2619.     User:  This function's value is set in the Flare Intensity field 
  2620.     from the Lens Flare Options Panel.
  2621.  
  2622.  
  2623.     Additional:  FlareDissolve <percentage> ¦ (envelope)
  2624.  
  2625.     example:  FlareDissolve 0.350000
  2626.  
  2627.     This function provides the percentage of dissolve of the current 
  2628.     light's lens flare.  The dissolve can be fluctuated with an envelope.
  2629.  
  2630.     User:  This function's value is set on the Flare Dissolve field 
  2631.     from the Lens Flare Options Panel.
  2632.  
  2633.  
  2634.     Additional:  LensFlareFade <bit-field value>
  2635.  
  2636.     example:  LensFlareFade 4
  2637.  
  2638.     This function determines the fade options for the current light's 
  2639.     lens flare.
  2640.  
  2641.     The value is produced by calculating the decimal value of a 5 position 
  2642.     bit-field whose bits represent logical on/off switches that are 
  2643.     numbered left to right from 0 - 4.  The field's least-significant bit 
  2644.     is the rightmost bit.  Each lens flare fade option has a corresponding 
  2645.     bit in this bit-field.  When an option is selected, it's bit (or 
  2646.     switch) is turned on.
  2647.  
  2648.     <bit position>:    0 - RESERVED
  2649.             1 - Fade With Distance
  2650.             2 - Fade Off Screen
  2651.             3 - Fade Behind Objects
  2652.             4 - Fade In Fog
  2653.  
  2654.  
  2655.     Additional:  LensFlareOptions <bit-field value>
  2656.  
  2657.     example:  LensFlareOptions 85
  2658.  
  2659.     This function provides the flare settings for the current light's 
  2660.     lens flare.
  2661.  
  2662.     The value is produced by calculating the decimal value of a 10 position 
  2663.     bit-field whose bits represent logical on/off switches that are 
  2664.     numbered left to right from 0 - 9.  The field's least-significant 
  2665.     bit is the rightmost bit.  Each lens flare option has a corresponding 
  2666.     bit in this bit-field.  When an option is selected, it's bit (or 
  2667.     switch) is turned on. 
  2668.  
  2669.     <bit positions>:    0 - Central Glow + Red Outer Glow
  2670.                 1 - Central Ring
  2671.                 2 - Star Filter
  2672.                 3 - Random Streaks
  2673.                 4 - Lens Reflections
  2674.                 5 - Suppress Red Outer Glow
  2675.                 6 - Anamorphic Distort
  2676.                 7 - Anamorphic Streaks
  2677.                 8 - Off Screen Streaks
  2678.                 9 - Glow Behind Objs
  2679.  
  2680.  
  2681.     Additional:  FlareRandStreakInt <percentage>
  2682.  
  2683.     example:  FlareRandStreakInt 0.030000
  2684.  
  2685.     The FlareRandStreakInt function provides the percentage of intensity 
  2686.     for the current light's random streaks.
  2687.  
  2688.  
  2689.     Additional:  FlareRandStreakDens <float>
  2690.  
  2691.     example:  FlareRandStreakDens 0.500000
  2692.  
  2693.     The FlareRandStreakDens function provides a floating point value for 
  2694.     the density of the current light's lens flare random streaks.
  2695.  
  2696.  
  2697.     Additional:  FlareRandStreakSharp <float>
  2698.  
  2699.     example:  FlareRandStreakSharp 0.060000
  2700.  
  2701.     The FlareRandStreakSharp function provides a floating point value 
  2702.     for the density of the current light's lens flare random streaks.
  2703.  
  2704.  
  2705. ShadowCasting <value>
  2706.  
  2707. example:     ShadowCasting 7
  2708.  
  2709. The ShadowCasting function determines what type of shadows the current 
  2710. light is going to produce during the rendering process.  This function 
  2711. chooses the type of shadow rendering, but it does not initiate the 
  2712. process.  Additional functions must be activated to turn the shadowing 
  2713. process on.  For Raytrace Shadows, the Camera function, RayTraceEffects 
  2714. must include the TraceShadows option.  For ShadowMap Shadows the Light 
  2715. function: EnableShadowMaps must be set to 1.
  2716.  
  2717. <value>:    0 - No Shadows
  2718.         1 - Raytrace Shadows
  2719.         2 - ShadowMap Shadows
  2720.  
  2721.  
  2722. ShadowMapSize <int>
  2723.  
  2724. example:  ShadowMapSize 512
  2725.  
  2726. The ShadowMapSize function sets the amount of memory, in bytes, that the 
  2727. current light is going to allocate for it's shadow map calculations.  
  2728. A higher memory size will result in a smoother shadow map.
  2729.  
  2730.  
  2731. UseConeAngle <flag>
  2732.  
  2733. example:  UseConeAngle 1
  2734.  
  2735. This flag determines whether the shadow map will use the light's cone 
  2736. angle or a separate angle for the shadowmap calculations.  If the flag 
  2737. is turned off, an additional function listing for ShadowMapAngle is produced.
  2738.  
  2739. <flag>    0 - Use angle from ShadowMapAngle
  2740.     1 - Use Cone Angle
  2741.  
  2742.  
  2743.     additional:  ShadowMapAngle <angle>
  2744.  
  2745.     example:  ShadowMapAngle 0.450000
  2746.  
  2747.     This function provides the angle for the shadow map calculations 
  2748.     if the UseConeAngle function is turned off.
  2749.  
  2750.  
  2751. ShadowFuzziness <float>
  2752.  
  2753. example:  ShadowFuzziness 1.000000
  2754.  
  2755. The ShadowFuzziness function provides a floating point value for the edge 
  2756. softness of the current light's shadow map calculations.
  2757.  
  2758.  
  2759.  
  2760.  
  2761.  
  2762. Chapter 5:            CAMERA SECTION
  2763.  
  2764.  
  2765. 5.1  CAMERA SECTION INFORMATION
  2766.  
  2767.  
  2768. 5.1.1  Camera Section Description
  2769.  
  2770.  
  2771. The Camera Section contains all of the information that relates to the 
  2772. camera in a LightWave Scene.
  2773.  
  2774.   There is only one (1) camera instance per scene file.
  2775.  
  2776.   The Target and Parent functions use a value that is equal to the order 
  2777.   in which the referenced object was loaded/created in the scene.  i.e. The 
  2778.   value given in the example: ParentObject 3  references the third object 
  2779.   instance in the scene file.
  2780.  
  2781.  
  2782. 5.1.2 Example Camera Segment
  2783.  
  2784.     Preceding Scene, Object, and Light sections........
  2785.  
  2786. ShowCamera 1 7
  2787. CameraMotion (unnamed)
  2788.  9
  2789.  1
  2790.  0 0 -1 0 0 0 1 1 1 
  2791.  0 0 0 0 0 
  2792. EndBehavior 1
  2793. ZoomFactor 3.200000
  2794. RenderMode 2
  2795. RayTraceEffects 0
  2796. Resolution 1
  2797. PixelAspectRatio 0
  2798. SegmentMemory 88000000
  2799. Antialiasing 0
  2800. AdaptiveSampling 1
  2801. AdaptiveThreshold 8
  2802. FilmSize 2
  2803. FieldRendering 0
  2804. MotionBlur 0
  2805. DepthofField 0
  2806.  
  2807.     Additional Scene Listings.......
  2808.  
  2809.  
  2810.  
  2811. 5.2 CAMERA FUNCTIONS
  2812.  
  2813.  
  2814. 5.2.1 Function Order
  2815.  
  2816.  
  2817. The following is a list of light functions that are listed in the order in 
  2818. which they appear in the scene file.
  2819.  
  2820.  
  2821.   Functions denoted with an asterisk (*) are required for all light loading 
  2822.   instances.
  2823.  
  2824.   Italicized entries denote function labels and not true function names.
  2825.  
  2826.   Indented entries denote an optional function of the preceding function.
  2827.  
  2828.   Optional functions will produce a listing only when activated by the user.
  2829.  
  2830.         ShowCamera *
  2831.  
  2832.         CameraMotion (identifier) *
  2833.  
  2834.         Number of Information Channels *
  2835.  
  2836.         Number of Keyframes *
  2837.  
  2838.         Keyframe Information *
  2839.  
  2840.         EndBehavior *
  2841.  
  2842.         LockedChannels
  2843.  
  2844.         ParentObject
  2845.  
  2846.         TargetObject
  2847.  
  2848.         ZoomFactor *
  2849.  
  2850.         RenderMode *
  2851.  
  2852.         RayTraceEffects *
  2853.  
  2854.         Resolution *
  2855.  
  2856.         CustomSize
  2857.  
  2858.         NTSCWidescreen
  2859.  
  2860.         PixelAspectRatio
  2861.  
  2862.             CustomPixelRatio
  2863.  
  2864.         LimitedRegion
  2865.  
  2866.             RegionLimits
  2867.  
  2868.         SegmentMemory *
  2869.  
  2870.         Antialiasing *
  2871.  
  2872.         FilterType
  2873.  
  2874.         AdaptiveSampling *
  2875.  
  2876.             AdaptiveThreshold
  2877.  
  2878.         FilmSize *
  2879.  
  2880.         FieldRendering *
  2881.  
  2882.             ReverseFields
  2883.  
  2884.         MotionBlur *
  2885.  
  2886.             BlurLength
  2887.  
  2888.         DepthofField *
  2889.  
  2890.             FocalDistance
  2891.  
  2892.             LensFStop
  2893.  
  2894.  
  2895.  
  2896. 5.2.2 Function Descriptions
  2897.  
  2898. The following functions are listed in the order in which they appear in 
  2899. the scene file.
  2900.  
  2901.  
  2902. ShowCamera <Refresh value> <Color value>
  2903.  
  2904. example:     ShowCamera 0 5
  2905.  
  2906. The ShowCamera function determines how the camera is going to be displayed 
  2907. in Layout.  The above example would hide the camera until selected.  If it 
  2908. were set to visible refresh, it would be purple when not selected.
  2909.  
  2910.  
  2911.  Refresh value
  2912.  
  2913. This argument sets the camera display type in Layout.  
  2914.  
  2915. <Refresh value>:    0 - No Refresh (Hide)
  2916.             1 - Refresh (Show)
  2917.  
  2918. User:  This value is selected in the second column of the Scene Overview from 
  2919. the Scene Menu.      
  2920.  
  2921.  
  2922.  Color value
  2923.  
  2924. This argument sets the color of the camera wireframe in Layout.  When the 
  2925. camera is selected, the wireframe highlights to yellow. 
  2926.  
  2927. <Color value>:    1 - Blue
  2928.         2 - Green
  2929.         3 - Light Blue
  2930.         4 - Red
  2931.         5 - Purple
  2932.         6 - Orange
  2933.         7 - Gray
  2934.  
  2935. User: This value is selected in the first column of the Scene Overview from 
  2936. the Scene Menu.
  2937.  
  2938.  
  2939. CameraMotion (unnamed)
  2940.  
  2941. example:     CameraMotion (unnamed)
  2942.  
  2943. This is a camera motion label for the keyframe information of the camera.  
  2944. It does not require any arguments to be passed to it.
  2945.  
  2946. The CameraMotion identifier listing is required for the camera.
  2947.  
  2948.  
  2949. Number of Information Channels:  <9>
  2950.  
  2951. This is a numeric value with no header that follows the CameraMotion 
  2952. identifier.  The value for the number of information channels is equal 
  2953. to the number of variables to be provided per keyframe.  For LightWave 
  2954. keyframes, the variables are listed as follows:  X position, Y position, 
  2955. Z position, Heading, Pitch, Bank, X Scale, Y Scale, and Z Scale.   
  2956. For camera motions, the number of information channels value is 
  2957. automatically set to 9 by LightWave.  The user has no access to 
  2958. this value.  
  2959.  
  2960. The number of information channels listing is required for the camera.
  2961.  
  2962.  
  2963. Number of Keyframes:  <int>
  2964.  
  2965. This is a numeric value with no header that follows the Number of 
  2966. Information Channels.  This value provides the number of keyframes 
  2967. for the camera.  It is immediately followed by the keyframe information.  
  2968. The camera will have at least one keyframe at frame 0.  
  2969.  
  2970. The Number of Keyframes listing is required for the camera.
  2971.  
  2972.  
  2973. Keyframe Information:
  2974.  
  2975. -1.321534   2.235439  2.164330  -60.000000  360.000000  180.000000   
  2976.  
  2977. 1.0   1.0   1.0  15  0  1.0   0.0   0.0 
  2978.  
  2979. The values are listed as follows:
  2980.  
  2981. 1st Line:
  2982.  
  2983. XPosition, YPosition, ZPosition, Heading, Pitch, Bank
  2984.  
  2985. 2nd Line:
  2986.  
  2987. XScale, YScale, ZScale, Frame Number, Linear Value, Tension, Continuity, Bias
  2988.  
  2989. At least one keyframe (frame 0) is listed for the camera.
  2990.  
  2991. (See Section 1.3 Keyframes)
  2992.  
  2993.  
  2994.  
  2995. EndBehavior <value>
  2996.  
  2997. example:     EndBehavior 2
  2998.  
  2999. The EndBehavior function determines how the camera will react when the 
  3000. last keyframe has been reached. The available choices are:  reset, stop 
  3001. and repeat.  The default setting is stop.  
  3002.  
  3003. <value>:    0 - Reset
  3004.         1 - Stop (Default)
  3005.         2 - Repeat
  3006.  
  3007. User: This value is set from the camera's motion graph panel.
  3008.  
  3009. The EndBehavior listing is required for the camera.
  3010.  
  3011.  
  3012. LockedChannels <bit-field value>
  3013.  
  3014. example:     LockedChannels 4093
  3015.  
  3016. This function determines the extent of the mouse control from LightWave's
  3017. Layout.  Separate independent channels of motion, rotation, etc. can be 
  3018. locked off to restrict the mouse's  control on each channel.  The mouse 
  3019. functions that it can effect are:  Move (X,Y,Z), Rotate(H,P,B), 
  3020. Scale/Stretch(X,Y,Z), and RestLength(X,Y,Z).
  3021.  
  3022. The value is produced by calculating the decimal value of a 6 position 
  3023. bit-field who bits represent logical on/off switches that are numbered 
  3024. left to right from 0 to 5.  The least significant bit for this field is 
  3025. the rightmost bit.  Each channel has a corresponding bit in the bit-field.  
  3026. When a channel is locked, it 's  bit (or switch) is turned on.
  3027.  
  3028. <bit positions>:    0 - Move X
  3029.             1 - Move Y
  3030.             2 - Move Z
  3031.             3 - Rotate Heading
  3032.             4 - Rotate Pitch
  3033.             5 - Rotate Bank
  3034.  
  3035. User:  This function is set from the Layout mouse control area.
  3036.  
  3037.  
  3038. ParentObject <object instance>
  3039.  
  3040. example:     ParentObject 4
  3041.  
  3042. This function provides LightWave with the camera's parent object in the 
  3043. hierarchical chain.  The value is equal to the parent objects position 
  3044. in the loading/creation sequence.  The example function would parent the 
  3045. camera to the fourth object instance in the scene file.  When the 
  3046. ParentObject function is active, all keyframe information for the camera 
  3047. becomes an offset from the parents information. 
  3048.  
  3049.  
  3050. TargetObject <object instance>
  3051.  
  3052. example:  TargetObject 3
  3053.  
  3054. This function provides LightWave with the camera's target object in the 
  3055. scene.  The value is equal to the target object's position in the 
  3056. loading/creation sequence.  The example function would target the 
  3057. camera at the third object instance in the scene file. 
  3058.  
  3059.  
  3060. ZoomFactor <float> ¦ (envelope)
  3061.  
  3062. example:  ZoomFactor 3.200000
  3063.  
  3064. The ZoomFactor function provides a floating point number that represents 
  3065. the zoom amount of the camera's lens.  This function can be fluctuated over 
  3066. time with an envelope.  If an envelope is chosen, the floating point value 
  3067. is replaced with an envelope identifier.
  3068.  
  3069.  
  3070. RenderMode <value>
  3071.  
  3072. example:  RenderMode 2
  3073.  
  3074. The RenderMode function determines the type of rendering for the scene.
  3075.  
  3076. <value>:    0 - WireFrame
  3077.         1 - Quickshade
  3078.         2 - Realistic (Default)
  3079.  
  3080.  
  3081. RayTraceEffects <bit-field value>
  3082.  
  3083. example:  RayTraceEffects 7
  3084.  
  3085. The RayTraceEffects function determines the ray trace options for the scene.
  3086.  
  3087. The value is produced by calculating the decimal value of a 3 position 
  3088. bit-field whose bits represent logical on/off switches that are numbered 
  3089. left to right from 0 - 2.  The field's least-significant bit is the 
  3090. rightmost bit.  Each ray trace option has a corresponding bit in this 
  3091. bit-field.  When an option is selected, it's bit (or switch) is turned on.
  3092.  
  3093. <bit position>:    0 - Trace Shadows
  3094.         1 - Trace Reflection
  3095.         2 - Trace Refraction
  3096.  
  3097.  
  3098. Resolution <value>
  3099.  
  3100. example:  Resolution 1
  3101.  
  3102. The Resolution function determines the resolution of the rendering in 
  3103. the current scene.
  3104.  
  3105. <value>:    -1 - Super Low Resolution
  3106.          0 - Low Resolution
  3107.          1 - Medium Resolution
  3108.          2 - High Resolution
  3109.          3 - Print Resolution
  3110.  
  3111.  
  3112. CustomSize <Horizontal resolution> <Vertical resolution>
  3113.  
  3114. example:  Custom Size 1024 768
  3115.  
  3116. The CustomSize function provides the horizontal and vertical pixel 
  3117. resolutions for rendering.
  3118.  
  3119.  
  3120. NTSCWidescreen <flag>
  3121.  
  3122. example:  NTSCWidescreen 1
  3123.  
  3124. The NTSCWidescreen flag activates a function that will compress the 
  3125. rendered image horizontally.  When this image is displayed in the 
  3126. NTSC Widescreen format it will display in the proper aspect.
  3127.  
  3128.  
  3129. PixelAspectRatio <value>
  3130.  
  3131. example:  PixelAspectRatio 0
  3132.  
  3133. The PixelAspectRatio function provides the aspect (shape) of the pixel 
  3134. in a rendered image.
  3135.  
  3136. <value>:    -1 - Custom (Produces Additional CustomPixelRatio Listing)
  3137.          0 - D2 NTSC
  3138.          1 - D1 NTSC
  3139.          2 - Square Pixels
  3140.          3 - D2 PAL
  3141.          4 - D1 PAL
  3142.  
  3143.     Additional:  CustomPixelRatio <float>
  3144.  
  3145.     example:  CustomPixelRatio 1.000000
  3146.  
  3147.     The CustomPixelRatio function provides a custom pixel aspect for 
  3148.     rendering.  The floating point value is the height to width ratio 
  3149.     of the needed pixels. 
  3150.  
  3151.  
  3152. LimitedRegion <flag>
  3153.  
  3154. example:  LimitedRegion 1
  3155.  
  3156. The LimitedRegion flag activates the limited region function to render a 
  3157. portion of the full camera view.  This function, when activated, produces 
  3158. an additional RegionLimits listing.
  3159.  
  3160. <flag>:    0 - Off (No Listing)
  3161.     1 - On (Listing plus additional RegionLimits listing)
  3162.  
  3163.  
  3164.     Additional:  RegionLimits <Left %><Right %><Top %><Bottom %>
  3165.  
  3166.     example: RegionLimits 0.50000 1.000000 0.500000 1.000000
  3167.  
  3168.     The RegionLimits function provides the dimensions of the area to be
  3169.      rendered for the LimitedRegion function.  The values given are a 
  3170.     percentage of screen size.
  3171.  
  3172.     <% limits>:    Left     -     0.000000 to 0.990000
  3173.             Right     -     0.010000 to 1.000000
  3174.             Top     -     0.000000 to 0.990000
  3175.             Bottom     -     0.010000 to 1.000000
  3176.  
  3177.  
  3178. SegmentMemory <bytes>
  3179.  
  3180. example: SegmentMemory 88000000
  3181.  
  3182. The SegmentMemory determines the amount of memory to be allocated for the 
  3183. rendering process.  If the amount of memory is too low, LightWave will 
  3184. divide the rendering process into separate segments.
  3185.  
  3186.  
  3187. Antialiasing <value>
  3188.  
  3189. example:  Antialiasing  2
  3190.  
  3191. The Antialiasing function determines the number of antialiasing (smoothing) 
  3192. passes that will be used for rendering.
  3193.  
  3194. <value>:    0 - Off
  3195.         1 - Low Antialiasing (5 passes)
  3196.         2 - Medium Antialiasing (9 passes)
  3197.         3 - High Antialiasing (17 passes)
  3198.  
  3199.  
  3200. FilterType<flag>
  3201.  
  3202. example:  FilterType 1
  3203.  
  3204. The FilterType flag activates the Soft Filter effect for the rendering process.
  3205.  
  3206. <flag>:    0 - Off (No listing)
  3207.     1 - On (Listing)
  3208.  
  3209.  
  3210. AdaptiveSampling <flag>
  3211.  
  3212. example:  AdaptiveSampling 1
  3213.  
  3214. The AdaptiveSampling flat activates adaptive sampling for the rendering 
  3215. process.  This function, when activated, produces an additional 
  3216. AdaptiveThreshold listing.
  3217.  
  3218. <flag>:    0 - Off (Listing)
  3219.     1 - On (Listing plus additional AdaptiveThreshold listing)
  3220.  
  3221.  
  3222.     Additional:  AdaptiveThreshold <int>
  3223.  
  3224.     example:  AdaptiveThreshold 8
  3225.  
  3226.     The AdaptiveThreshold function provides a value for the level of 
  3227.     adaptive sampling during the rendering process.  This value is a 
  3228.     threshold, or cutoff level, for the antialiasing process. 
  3229.  
  3230.  
  3231. FilmSize <value>
  3232.  
  3233. example:  FilmSize 1
  3234.  
  3235. The FilmSize function determines what type of film LightWave is going to 
  3236. simulate during the rendering process.  This adjusts the optical qualities 
  3237. in the cameras adjustment of zoom factor and depth of field.
  3238.  
  3239. <value>:     0 - Super 8 motion picture
  3240.          1 - 16mm motion picture
  3241.          2 - 35mm motion picture (Default)
  3242.          3 - 65mm Super Panavision motion picture
  3243.          4 - 65mm Imax motion picture
  3244.          5 - Size 110 (pocket camera)
  3245.          6 - Size 135 (35mm SLR)
  3246.          7 - Size 120 (60 x 45 mm rollfilm camera)
  3247.          8 - Size 120 (90 x 60 mm rollfilm camera)
  3248.          9 - 1/3 " CCD video camera
  3249.         10 - 1/2" CCD video camera
  3250.  
  3251.  
  3252. FieldRendering <flag>
  3253.  
  3254. example:  FieldRendering 1
  3255.  
  3256. The FieldRendering flag activates the field rendering function during the 
  3257. rendering process.  This function, when activated, produces an additional 
  3258. ReverseFields listing.
  3259.  
  3260. <flag>:    0 - Off (Listing)
  3261.     1 - On (Listing plus additional ReverseFields listing)
  3262.  
  3263.  
  3264.     Additional:  ReverseFields <flag>
  3265.  
  3266.     example:  ReverseFields 1
  3267.  
  3268.     The ReverseFields flag activates the reverse fields function.  
  3269.     This function shifts the order in which the fields are rendered.
  3270.  
  3271.  
  3272. MotionBlur <bit-field value>
  3273.  
  3274. example:  MotionBlur 7
  3275.  
  3276. The MotionBlur function determines the active motion blur functions for the 
  3277. rendering process.  When particle blur or motion blur are selected, they 
  3278. produce an additional BlurLength listing.
  3279.  
  3280. The value is produced by calculating the decimal value of a 3 position 
  3281. bit-field whose bits represent logical on/off switches that are numbered 
  3282. left to right from 0 - 2.  The field's least-significant bit is the 
  3283. rightmost bit.  Each motion blur option has a corresponding bit in this 
  3284. bit-field.  When an option is selected, it's bit (or switch) is turned on.
  3285.  
  3286. <bit position>:    0 - Particle Blur (Additional Listing)
  3287.         1 - Motion Blur (Additional Listing)
  3288.         2 - Dithered Motion Blur
  3289.  
  3290.  
  3291.     Additional:  BlurLength <percentage> ¦ (envelope)
  3292.  
  3293.     example:  BlurLength 0.500000
  3294.  
  3295.     The BlurLength function provides the amount of blur to be applied 
  3296.     during the rendering process.
  3297.  
  3298.  
  3299. DepthofField <flag>
  3300.  
  3301. example:  DepthofField 1
  3302.  
  3303. The DepthofField flag activates the depth of field function for the 
  3304. rendering process.  This function, when activated, produces additional 
  3305. FocalDistance and LensFStop listings.
  3306.  
  3307. <flag>:    0 - Off (Listing)
  3308.     1 - On (Listing plus additional Listings)
  3309.  
  3310.  
  3311.     Additional:  FocalDistance <Distance> ¦ (envelope)
  3312.  
  3313.     example:  FocalDistance 25.0000
  3314.  
  3315.     The FocalDistance function provides the distance from the camera of 
  3316.     it's focal point.  This distance is given in meters.
  3317.  
  3318.  
  3319.     Additional:  LensFStop <float> ¦ (envelope)
  3320.  
  3321.     example:  LensFStop 4.000000
  3322.  
  3323.     The LensFStop function determines the range of in-focus items from 
  3324.     the focal point.  The larger the F-stop, the larger the focal range.
  3325.  
  3326.  
  3327.  
  3328.  
  3329.  
  3330. Chapter 6:            EFFECTS SECTION
  3331.  
  3332.  
  3333. 6.1 EFFECTS SECTION INFORMATION
  3334.  
  3335.  
  3336. 6.1.1  Effects Section Description
  3337.  
  3338. The Effects section contains the information that relates to the different 
  3339. effects that are available in a LightWave scene.
  3340.  
  3341.  
  3342. 6.1.2  Basic Effects Section
  3343.  
  3344.     Preceding Scene, Object, Light, and Camera Sections.............
  3345.  
  3346. SolidBackdrop 1
  3347. BackdropColor 0 0 0
  3348. ZenithColor 0 40 80
  3349. SkyColor 120 180 240
  3350. GroundColor 50 40 30
  3351. NadirColor 100 80 60
  3352. FogType 0
  3353. DitherIntensity 1
  3354. AnimatedDither 0
  3355.  
  3356. DataOverlayLabel
  3357.  
  3358.     Additional Scene Listings...........
  3359.  
  3360.  
  3361.  
  3362. 6.2  EFFECTS FUNCTIONS
  3363.  
  3364.  
  3365. 6.2.1  Function Order
  3366.  
  3367. The following is a list of Effects functions that are listed in the order in 
  3368. which they appear in the scene file.
  3369.  
  3370.   Functions denoted with an asterisk (*) are required listings.
  3371.  
  3372.   Italicized entries denote function labels and not true function names.
  3373.  
  3374.   Indented entries denote an optional function of the preceding function.
  3375.  
  3376.   Optional functions will produce a listing only when activated by the user.
  3377.  
  3378.  
  3379.         BGImage
  3380.  
  3381.         FGImage
  3382.  
  3383.         FGAlphaImage
  3384.  
  3385.         FGDissolve
  3386.  
  3387.         FGFaderAlphaMode
  3388.  
  3389.         ForegroundKey
  3390.  
  3391.             LowClipColor
  3392.  
  3393.             HighClipColor
  3394.  
  3395.         SolidBackdrop *
  3396.  
  3397.         BackdropColor *
  3398.  
  3399.         ZenithColor *
  3400.  
  3401.         SkyColor *
  3402.  
  3403.         GroundColor *
  3404.  
  3405.         NadirColor *
  3406.  
  3407.         FogType *
  3408.  
  3409.             FogMinDist
  3410.  
  3411.             FogMaxDist
  3412.  
  3413.             FogMinAmount
  3414.  
  3415.             FogMaxAmount
  3416.  
  3417.             FogColor
  3418.  
  3419.             BackdropFog
  3420.  
  3421.         DitherIntensity *
  3422.  
  3423.         AnimatedDither *
  3424.  
  3425.         Saturation
  3426.  
  3427.         GlowEffect
  3428.  
  3429.             GlowIntensity
  3430.  
  3431.             GlowRadius
  3432.  
  3433.  
  3434.  
  3435.         DataOverlay
  3436.  
  3437.         DataOverlayLabel *
  3438.  
  3439.  
  3440. 6.2.2  Function Descriptions
  3441.  
  3442. The following functions are listed in the order in which they appear in the
  3443. scene file.
  3444.  
  3445. BGImage < image path + filename> [(sequence)]
  3446.  
  3447. FGImage <image path + filename> [(sequence)]
  3448.  
  3449. FGAlphaImage < image path + filename> [(sequence)]
  3450.  
  3451. example:  BGImage Images/Sky.tga
  3452.  
  3453. example:  BGImage Images/BldColor.tga
  3454.  
  3455. example:  FGAlphaImage Images/BldAlpha.tga
  3456.  
  3457. The BGImage, FGImage and FGAlphaImage functions provides the path and 
  3458. filename for the background, foreground and foreground alpha channel 
  3459. images respectively.  The paths are generated by checking the current 
  3460. content directory for the listed filenames.  
  3461.  
  3462. In these examples if the current content directory is <c:\NewTek>, 
  3463. LightWave would attempt to load the files <c:\NewTek\Images\Sky.tga>, 
  3464. <c:\NewTek\Images\BldColor.tga> and <c:\NewTek\Images\BldAlpha.tga>.
  3465.  
  3466. It is possible to use image sequences for these functions.  If an 
  3467. image sequence is chosen, a sequence identifier is appended to the 
  3468. image path and filename.  An additional ImageSequenceInfo listing is 
  3469. also produced. (See Image Sequences Section 1.5)
  3470.  
  3471.  
  3472.     Additional:  ImageSequenceInfo <frame offset> <loop flag> <loop length>
  3473.  
  3474.     The ImageSequenceInfo listing is produced only when an image sequence
  3475.     is chosen.  It     provides optional information for the image sequence.  
  3476.     (See Image Sequences Section     1.5)
  3477.  
  3478.  
  3479. FGDissolve <percentage> ¦ (envelope)
  3480.  
  3481. example:  FGDissolve 0.750000
  3482.  
  3483. The FGDissolve function provides the dissolve percentage of the foreground 
  3484. image.  This function is most widely used with an envelope to produce a 
  3485. smooth fade from a foreground image to the current scene.
  3486.  
  3487.  
  3488. FGFaderAlphaMode <flag>
  3489.  
  3490. example:  FGFaderAlphaMode 1
  3491.  
  3492. The FGFaderAlphaMode flag activates the foreground fader alpha mode.  
  3493. This modes provides an additional type of Alpha channel image compositing.
  3494.  
  3495. <flag>:    0 - Off (No Listing)
  3496.  
  3497.         1 - On (Listing)
  3498.  
  3499.  
  3500. ForegroundKey <flag>
  3501.  
  3502. example:  ForegroundKey 1
  3503.  
  3504. The ForegroundKey flag activates the foreground keying function in the 
  3505. image composting process of LightWave.  This function allows the user to 
  3506. set a HighClipColor and a LowClipColor for the clipping of the foreground 
  3507. image.
  3508.  
  3509. <flag>:    0 - Off (No Listing)
  3510.     1 - On (Listing plus additional listings)
  3511.  
  3512.  
  3513.     Additional:  LowClipColor <Red value> <Green value> <Blue value>
  3514.  
  3515.     Additional:  HighClipColor <Red value> <Green value> <Blue value>
  3516.  
  3517.     example:  LowClipColor 0 0 0
  3518.  
  3519.     example:  HighClipColor 125 125 125
  3520.  
  3521.  
  3522.     The LowClipColor and HighClipColor functions provides the "darkest" 
  3523.     and the "brightest" RGB color respectively for the ForegroundKey 
  3524.     function.
  3525.  
  3526.     <color value range>:    Red value -    0 - 255
  3527.                 Green value -    0 - 255
  3528.                 Blue value -    0 - 255
  3529.  
  3530.  
  3531. SolidBackdrop <flag>
  3532.  
  3533. example:  SolidBackdrop 1
  3534.  
  3535. The SolidBackdrop flag activates a single color backdrop.  If the flag is
  3536. turned off, a gradient backdrop is produced using the RGB color values 
  3537. provided in the Backdrop Color, Zenith Color, Sky Color, and Nadir Color 
  3538. listings.
  3539.  
  3540. <flag>:    0 - Off (Gradient Backdrop)
  3541.     1 - On (SolidBackdrop)
  3542.  
  3543.  
  3544. BackdropColor <Red value> <Green value> <Blue value>
  3545.  
  3546. example:  HighClipColor 125 125 125
  3547.  
  3548. The BackdropColor function provides the RGB values for the backdrop color.  
  3549. These values are used only when the SolidBackdrop flag is turned on.
  3550.  
  3551. <color value range>:    Red value -    0 - 255
  3552.             Green value -    0 - 255
  3553.             Blue value -    0 - 255
  3554.  
  3555.  
  3556. ZenithColor <Red value> <Green value> <Blue value>
  3557.  
  3558. SkyColor <Red value> <Green value> <Blue value>
  3559.  
  3560. GroundColor <Red value> <Green value> <Blue value>
  3561.  
  3562. NadirColor <Red value> <Green value> <Blue value>
  3563.  
  3564. example:  ZenithColor 0 40 80
  3565.  
  3566. example:  SkyColor 120 180 240
  3567.  
  3568. example:  GroundColor 50 40 30
  3569.  
  3570. example:  NadirColor 100 80 60
  3571.  
  3572.  
  3573. The ZenithColor, SkyColor, GroundColor, and Nadir Color functions provide the 
  3574. RBG values for the gradient backdrop.  These values are used only when the 
  3575. SolidBackdrop flag is turned off.
  3576.  
  3577. <color value range>:    Red value -    0 - 255
  3578.             Green value -    0 - 255
  3579.             Blue value -    0 - 255
  3580.  
  3581.  
  3582. FogType <value>
  3583.  
  3584. example:  FogType 1
  3585.  
  3586. The FogType function determines which type of fog will be generated during 
  3587. the rendering process.  If the Fog effect is turned on in LightWave, 
  3588. additional listings are produced.
  3589.  
  3590. <value>:    0 - Off
  3591.         1 - Linear
  3592.         2 - NonLinear 1
  3593.         3 - NonLinear 2
  3594.  
  3595.  
  3596.     Additional:  FogMinDist <Distance> ¦ (envelope)
  3597.  
  3598.     example:  FogMinDist 25.000000
  3599.  
  3600.     The FogMinDist function provides the distance from the camera that 
  3601.     the fog will begin.  This functions value can be fluctuated over 
  3602.     time with an envelope.  If an envelope is chosen, the distance value 
  3603.     is replace with an envelope identifier.
  3604.  
  3605.  
  3606.     Additional:  FogMaxDist <Distance> ¦ (envelope)
  3607.  
  3608.     example:  FogMaxDist 350.00000
  3609.  
  3610.     The Fog MaxDist function provides the distance from camera that 
  3611.     objects in the fog will remain visible.  This functions value can be 
  3612.     fluctuated over time with an envelope.  If an envelope is chosen, the 
  3613.     distance value is replace with an envelope identifier.
  3614.  
  3615.  
  3616.     Additional:  FogMinAmount <percentage> ¦ (envelope)
  3617.  
  3618.     example:  FogMinAmount 0.250000
  3619.  
  3620.     The FogMinAmount function provides the lower bounding value for the 
  3621.     density (amount) of fog in the scene.
  3622.  
  3623.  
  3624.     Additional:  FogMaxAmount <percentage> ¦ (envelope)
  3625.  
  3626.     example:  FogMaxAmount 0.750000
  3627.  
  3628.     The FogMaxAmount function provides the upper bounding value for the 
  3629.     density (amount) of fog in the scene.
  3630.  
  3631.  
  3632.     Additional:  FogColor <Red value> <Green value> <Blue value>
  3633.  
  3634.     example:  FogColor 200 200 215
  3635.  
  3636.     The FogColor function provides the RGB values for the color of the fog.
  3637.       These values are used only when the BackdropFog flag is turned off.
  3638.  
  3639.     <color value range>:    Red value -    0 - 255
  3640.                 Green value -    0 - 255
  3641.                 Blue value -    0 - 255
  3642.  
  3643.  
  3644.     Additional:  BackdropFog <flag>
  3645.  
  3646.     example:  BackdropFog 1
  3647.  
  3648.     The BackdropFog flag determines how the fog will be colored.  If the 
  3649.     flag is on, the fog will use the backdrop color.  If the flag is off, 
  3650.     it will use the values provided in the     FogColor function.
  3651.  
  3652.     <flag>:    0 - Use FogColor
  3653.         1 - Use Backdrop Colors
  3654.  
  3655.  
  3656. DitherIntensity <value>
  3657.  
  3658. example:  DitherIntensity 2
  3659.  
  3660. The DitherIntensity function provides the type of dithering to be used during 
  3661. the rendering process.
  3662.  
  3663. <value>:    0 - Off
  3664.         1 - Normal
  3665.         2 - 2 x Normal
  3666.         3 - 4 x Normal
  3667.  
  3668.  
  3669. AnimatedDither <flag>
  3670.  
  3671. example:  AnimatedDither 1
  3672.  
  3673. The AnimatedDither flag activates the animated dither function.  This will use 
  3674. an alternate dithering patter frame by frame.
  3675.  
  3676. <flag>:    0 - Off
  3677.     1 - On 
  3678.  
  3679.  
  3680. Saturation <percentage> ¦ (envelope)
  3681.  
  3682. example:  Saturation 0.350000
  3683.  
  3684. The Saturation function provides the percentage of color saturation to be 
  3685. used during the rendering process.  The function produces a listing only 
  3686. when set below 100%.
  3687.  
  3688.  
  3689. GlowEffect <flag>
  3690.  
  3691. example:  GlowEffect 1
  3692.  
  3693. The GlowEffect flag activates the glow effect for the rendering process.  
  3694. When this function is turned on, it allows any surface that has it's glow 
  3695. effect flag turned on to be affected by the glow post-process.  This function, 
  3696. when turned on, produces a listing plus additional option listings.
  3697.  
  3698. <flag>:    0 - Off (No Listing)
  3699.     1 - On (Listing plus additional listings)
  3700.  
  3701.  
  3702.     Additional:  GlowIntensity <percentage> ¦ (envelope)
  3703.  
  3704.     example:  GlowIntensity 1.000000
  3705.  
  3706.     The GlowIntensity provides the percentage of glow intensity 
  3707.     (brightness) that the glow post-process will produce.
  3708.  
  3709.  
  3710.     Additional:  GlowRadius <pixels> ¦ (envelope)
  3711.  
  3712.     example:  GlowRadius 8.000000
  3713.  
  3714.     The GlowRadius provides the glow distance, in pixels, that the 
  3715.     glow post-process will     produce.
  3716.  
  3717.  
  3718. DataOverlay <flag>
  3719.  
  3720. example:  DataOverlay 1
  3721.  
  3722. The DataOverlay flag activates the data overlay function that overlays a 
  3723. string provide by the DataOverlayLabel function on the rendered frames.
  3724.  
  3725. <flag>:    0 - Off (No Listing)
  3726.     1 - On
  3727.  
  3728.  
  3729. DataOverlayLabel <string>
  3730.  
  3731. example:  DataOverlayLabel Scene1_4/16/95
  3732.  
  3733. The DataOverlayLabel function provides the string to be used by the 
  3734. DataOverlay function.
  3735.  
  3736.  
  3737.  
  3738.  
  3739. Chapter 7:            RECORD SECTION
  3740.  
  3741.  
  3742. 7.1 RECORD SECTION INFORMATION
  3743.  
  3744.  
  3745. 7.1.1  Record Section Description
  3746.  
  3747. The effects section contains the information on the saving of animations, 
  3748. RGB images and Alpha images.
  3749.  
  3750. Record functions produce a listing only when activated by the user.
  3751.  
  3752. The file saving process is not active when the scene is loaded into
  3753. LightWave.  The file name is available to the record functions.  The user 
  3754. must activate the save function manually to begin the saving process.
  3755.  
  3756.  
  3757. 7.1.2  Basic Record Section
  3758.  
  3759.     Preceding Scene, Objects, Lights, Camera, and Effects Sections...........
  3760.  
  3761. SaveRGBImagesPrefix Logo
  3762. RGBImageFormat 2
  3763. SaveAlphaImagesPrefix LogoAlpha
  3764. AlphaImageFormat 0
  3765. AlphaMode 1
  3766.  
  3767.     Additional Scene Listings.............
  3768.  
  3769.  
  3770.  
  3771. 7.2  RECORD FUNCTIONS
  3772.  
  3773.  
  3774. 7.2.1  Function Order
  3775.  
  3776. The following is a list of record functions that are listed in the order 
  3777. in which they appear in the scene file.
  3778.  
  3779. Indented entries denote an optional function of the preceding function.
  3780.  
  3781.     SaveANIMFileName
  3782.         LockANIMPaletteFrame
  3783.         BeginANIMLoopFrame
  3784.  
  3785.     SaveRGBImagesPrefix
  3786.         RGBImageFormat
  3787.  
  3788.     SaveAlphaImagesPrefix
  3789.         AlphaImageFormat
  3790.         AlphaMode
  3791.  
  3792.     SaveFramestoresComment
  3793.  
  3794.  
  3795.  
  3796. 7.2.2 Function Descriptions
  3797.  
  3798. The following functions are listed in the order in which they appear in 
  3799. the scene file.
  3800.  
  3801.  
  3802. SaveANIMFileName <image path + filename>
  3803.  
  3804. example:  SaveANIMFileName Anims\LogoAnim
  3805.  
  3806. The SaveANIMFileName function provides the path and filename for the 
  3807. animation to be saved during rendering.
  3808.  
  3809. In this example, if the current content directory is <c:\NewTek>, 
  3810. LightWave would attempt to save the anim file as <c:\NewTek\Anims\LogoAnim>.
  3811.  
  3812. Some animation formats produce additional function listings.
  3813.  
  3814.  
  3815.     Additional:  LockANIMPaletteFrame <frame number>
  3816.  
  3817.     example:  LockANIMPaletteFrame 12
  3818.  
  3819.     The LockANIMPaletteFrame function provides the frame number to be 
  3820.     rendered for the palette information.  The palette of all frames 
  3821.     rendered in the animation will then use the given frames palette.
  3822.  
  3823.  
  3824.     Additional:  BeginANIMLoopFrame <frame number>
  3825.  
  3826.     example:  BeginANIMLoopFrame 15
  3827.  
  3828.     The BeginANIMLoopFrame function provides the frame number to loop the 
  3829.     animation from.  After the animation is completed, it would continue 
  3830.     looping from the given frame to the end of the animation.
  3831.  
  3832.  
  3833. SaveRGBImagesPrefix<image path + filename>
  3834.  
  3835. example:  SaveRGBImagesPrefix Images\LogoFrames
  3836.  
  3837. The SaveRGBImagesPrefix function provides the path and filename prefix 
  3838. for the images to be saved during rendering.  A frame number and optional 
  3839. file extension will be added to this filename.  This additional information 
  3840. is provided by the Output Filename Format config file listing and the 
  3841. RGBImageFormat function.  
  3842.  
  3843. In this example, if the current content directory is <c:\NewTek>, the 
  3844. Output Filename Format is set to Name001.xxx, and the Image Format is 
  3845. 24-bit Targa,  LightWave would attempt to save the first image file as 
  3846. <c:\NewTek\Images\LogoFrames001.tga>.
  3847.  
  3848.  
  3849.     Additional:  RGBImageFormat <value>
  3850.  
  3851.     example:  RGBImageFormat 2
  3852.  
  3853.     The RGBImageFormat function determines which file format will be 
  3854.     used in the image saving process.
  3855.  
  3856.  
  3857.  
  3858.     <value>:    0 - 24-bit IFF (.IFF)
  3859.             1 - 24-bit RAW (.RAW)
  3860.             2 - 24-bit Targa (.TGA)
  3861.  
  3862.  
  3863. SaveAlphaImagesPrefix<image path + filename>
  3864.  
  3865. example:  SaveAlphaImagesPrefix Images\LogoAlpha
  3866.  
  3867. The SaveAlphaImagesPrefix function provides the path and filename prefix 
  3868. for the alpha images to be saved during rendering.  A frame number and 
  3869. optional file extension will be added to this filename.  This additional 
  3870. information is provided by the Output  Filename Format config file listing 
  3871. and the AlphaImageFormat function.  
  3872.  
  3873. In this example, if the current content directory is <c:\NewTek>, the 
  3874. Output Filename Format is set to Name001.xxx, and the Alpha Image Format 
  3875. is 24-bit IFF,  LightWave would attempt to save the first image file as 
  3876. <c:\NewTek\Images\LogoAlpha001.tga>.
  3877.  
  3878.  
  3879.     Additional:  AlphaImageFormat <value>
  3880.  
  3881.     example:  AlphaImageFormat 1
  3882.  
  3883.     The AlphaImageFormat function determines which file format will 
  3884.     be used in the image saving process.
  3885.  
  3886.     <value>:    0 - 8-bit IFF (.IFF)
  3887.             1 - 24-bit IFF (.IFF)
  3888.  
  3889.  
  3890.     AlphaMode <value>
  3891.  
  3892.     example:  AlphaMode 1
  3893.  
  3894.     The AlphaMode functions determines which type of alpha image is 
  3895.     going to be produced during the rendering process.
  3896.  
  3897.     <value>:    0 - Normal Alpha
  3898.             1 - Fader Alpha Mode
  3899.  
  3900.  
  3901. SaveFramestoresComment <image path + filename>
  3902.  
  3903. example:  SaveFramestoreComment  Images\Frame
  3904.  
  3905. The SaveFramestoreComment function provides the path and filename prefix 
  3906. for the framestores to be saved during rendering.  A frame number and 
  3907. optional file extension will be added to this filename.  
  3908.  
  3909. In this example, if the current content directory is <c:\NewTek>, 
  3910. LightWave would attempt to save the first image file as 
  3911. <c:\NewTek\Images\001.FS.Frame>.
  3912.  
  3913.  
  3914.  
  3915.  
  3916. Chapter 8:            OPTIONS SECTION
  3917.  
  3918.  
  3919. 8.1  OPTIONS SECTION INFORMATION
  3920.  
  3921.  
  3922. 8.1.1 Options Section Description
  3923.  
  3924.   The Options Section contains the information that relates to environment 
  3925.   settings for LightWave's Layout.
  3926.  
  3927.  
  3928. 8.1.2  Example Options Section
  3929.  
  3930.     Preceding Scene, Objects, Lights, Camera, Effects and Record sections.......
  3931.  
  3932. ViewMode 3
  3933. ViewAimpoint 0.000000 0.000000 0.000000
  3934. ViewDirection 0.000000 -0.174533 0.000000
  3935. ViewZoomFactor 3.200000
  3936. LayoutGrid 8
  3937. GridSize 1.000000
  3938. ShowMotionPath 1
  3939. ShowSafeAreas 1
  3940. ShowBGImage 0
  3941. ShowFogRadius 0
  3942. ShowRedraw 0
  3943.  
  3944.  
  3945.  
  3946. 8.2  OPTION FUNCTIONS
  3947.  
  3948.  
  3949. 8.2.1  Function Order
  3950.  
  3951. The following is a list of Options functions in the order in which they 
  3952. appear in the scene file.
  3953.  
  3954.  
  3955.         ViewMode
  3956.  
  3957.         ViewAimpoint
  3958.  
  3959.         ViewDirection
  3960.  
  3961.         ViewZoomFactor
  3962.  
  3963.         LayoutGrid
  3964.  
  3965.         GridSize
  3966.  
  3967.         ShowMotionPath
  3968.  
  3969.         ShowSafeAreas
  3970.  
  3971.         ShowBGImage
  3972.  
  3973.         ShowFogRadius
  3974.  
  3975.         ShowRedraw
  3976.  
  3977.         ShowFieldChart
  3978.  
  3979.  
  3980. 8.2.2  Function Descriptions
  3981.  
  3982. The following functions are listed in the order in which they appear in 
  3983. the scene file.
  3984.  
  3985.  
  3986. ViewMode <value>
  3987.  
  3988. example:  ViewMode 5
  3989.  
  3990. The ViewMode function determines the default viewing mode from Layout when 
  3991. the scene file is loaded.
  3992.  
  3993. <value>:    0 - Front
  3994.         1 - Top
  3995.         2 - Side
  3996.         3 - Perspective
  3997.         4 - Light
  3998.         5 - Camera
  3999.  
  4000.  
  4001. ViewAimpoint <x position> <y position> <z position>
  4002.  
  4003. example:  ViewAimpoint 0.000000 0.000000 0.000000
  4004.  
  4005. The ViewAimpoint function provides the position information for the 
  4006. default viewing mode from Layout when the scene file is loaded.
  4007.  
  4008.  
  4009. ViewDirection <heading angle> <pitch angle> <bank angle>
  4010.  
  4011. example:  ViewDirection 0.000000 -0.175433 0.000000
  4012.  
  4013. The ViewDirection provides the rotation information for the default 
  4014. viewing mode from Layout when the scene file is loaded.
  4015.  
  4016.  
  4017. ViewZoomFactor <float>
  4018.  
  4019. example:  ViewZoomFactor 3.200000
  4020.  
  4021. The ViewZoomFactor function provides the zoom factor for the default 
  4022. viewing mode from Layout when the scene file is loaded.
  4023.  
  4024.  
  4025. LayoutGrid <value>
  4026.  
  4027. example:  LayoutGrid 8
  4028.  
  4029. The LayoutGrid function determines the number of grid squares in Layout.
  4030.  
  4031. <value>:    0 - Off
  4032.         1 - 2 x 2
  4033.         2 - 4 x 4
  4034.         3 - 6 x 6
  4035.         4 - 8 x 8
  4036.         5 - 10 x 10
  4037.         6 - 12 x 12
  4038.         7 - 14 x 14
  4039.         8 - 16 x 16
  4040.  
  4041.  
  4042. GridSize <float>
  4043.  
  4044. example:  GridSize 1.000000
  4045.  
  4046. The GridSize function  provides the value, in meters, for the grid square 
  4047. size in Layout.
  4048.  
  4049.  
  4050. ShowMotionPath <flag>
  4051.  
  4052. example:  ShowMotionPath 1
  4053.  
  4054. The ShowMotionPath flag controls the display of the motion paths in Layout.
  4055.  
  4056. <flag>:    0 - Off
  4057.     1 - On
  4058.  
  4059.  
  4060. ShowSafeAreas <flag>
  4061.  
  4062. example:  ShowSafeAreas 1
  4063.  
  4064. The ShowSafeAreas flag controls the display of the safe areas overlay in Layout.
  4065.  
  4066. <flag>:    0 - Off
  4067.     1 - On (Display Safe Area Chart)
  4068.  
  4069.  
  4070. ShowBGImage <value>
  4071.  
  4072. example:  ShowBGImage 2
  4073.  
  4074. The ShowBGImage function activates the display of a background image or 
  4075. preview anim.
  4076.  
  4077. <value>:    0 - Blank
  4078.         1 - BG Image
  4079.         2 - Preview
  4080.  
  4081.  
  4082. ShowFogRadius <flag>
  4083.  
  4084. example:  ShowFogRadius 1
  4085.  
  4086. The ShowFogRadius flag activates the display of the fog radius in Layout.
  4087.  
  4088. <flag>:    0 - Off
  4089.     1 - On (Display Fog Radius)
  4090.  
  4091.  
  4092. ShowRedraw <flag>
  4093.  
  4094. example:  ShowRedraw 0
  4095.  
  4096. The ShowRedraw flag activates the display of the object polygon redraw 
  4097. in Layout.
  4098.  
  4099. <flag>:    0 - Off
  4100.     1 - On (Display Object Polygon Redraw)
  4101.  
  4102.  
  4103. ShowFieldChart <flag>
  4104.  
  4105. example:  ShowFieldChart 1
  4106.  
  4107. The ShowFieldChart flag activates the display of the Camera Field Chart 
  4108. in Layout.
  4109.  
  4110. <flag>:    0 - Off
  4111.     1 - On (Display Field Chart)
  4112.  
  4113.